2017-09-25 180 views
0

我正在使用python并使用pymysql库,并且我想编写一个查询,该列插入数组的行中有一些特殊值。 例如插入“HI”成一列,其中user_id是22 该查询我写此代码 从pymysql进口* chat_id = 22 USER_FIRST_NAME =“喜”插入条件

db = connect(host="localhost", port=3306, user="root", passwd="", 
db='support',charset='utf8') 
cursor = db.cursor() 
cursor.execute("""INSERT INTO users user_firstname VALUE %s WHERE user_id is 
%s""",(user_first_name, chat_id)) 
db.commit() 

我应该如何写此查询正确的形式?

+0

'user_id'列在哪里?如果它在一行'用户'中?因为在这种情况下,您需要的是UPDATE(您不需要添加记录,您必须修改它们) –

+0

yes user_id列位于users表中。 –

回答

1

如果我undertanding,正确,而不是INSERT INTO,看来你需要一个UPDATE

cursor.execute("""UPDATE users SET user_firstname='%s' WHERE user_id=%s""",(user_first_name, chat_id)) 
+0

不,它不会以这种方式给出错误: “您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以获取在第1行'WHERE user_id = 322434411'附近使用的正确语法“ –

+0

编辑了答案 –

0

旧金山是正确的,但。如果您已经有了user_id,那么应该使用UPDATE来更改和现有记录的值。 INSERT命令创建一条新记录。