2017-09-25 69 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命令創建一條新記錄。