MySQL INSERT構文
WHERE句をサポートしていないため、現状のクエリは失敗します。 id
を想定 列は一意または主キーです:
ID 1の新しい行を挿入する場合は、次を使用する必要があります。
INSERT INTO Users(id, weight, desiredWeight) VALUES(1, 160, 145);
ID 1の既存の行の重み/desiredWeight値を変更しようとしている場合は、次を使用する必要があります。
UPDATE Users SET weight = 160, desiredWeight = 145 WHERE id = 1;
必要に応じて、次のようにINSERT .. ONDUPLICATEKEY構文を使用することもできます。
INSERT INTO Users (id, weight, desiredWeight) VALUES(1, 160, 145) ON DUPLICATE KEY UPDATE weight=160, desiredWeight=145
またはそのように:
INSERT INTO Users SET id=1, weight=160, desiredWeight=145 ON DUPLICATE KEY UPDATE weight=160, desiredWeight=145
id
の場合は、注意することも重要です。 columnは自動インクリメント列であるため、INSERTからすべて一緒に省略して、mysqlに通常どおりインクリメントさせることもできます。