2017-09-25 16 views
0

私はpythonとpymysqlライブラリを使用していると私は列にいくつかの特別な値がある行に配列を挿入するクエリを記述したいと思います。 例えばUSER_ID iは* chat_id = 22 USER_FIRST_NAME pymysqlインポートからこのコード を書くそのクエリの22 であるカラムに 'HI' を挿入= "こんにちは" 私はこのクエリを作成する方法条件付きで挿入する

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'列はどこですか?それが 'users'の行にあれば?その場合、必要なものはUPDATEです(レコードを追加する必要はありません。変更する必要があります) –

+0

はいuser_id列はユーザ​​ーテーブルにあります。 –

答えて

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コマンドは、新しいレコードを作成します。

関連する問題