MySQL
INSERT Syntax不支持WHERE子句,所以您的查询将会失败。假设您的ID列是唯一的或主键:
如果您尝试插入ID为1的新行,您应该使用:
INSERT INTO Users(id, weight, desiredWeight) VALUES(1, 160, 145);
如果你想改变ID为1的现有行的weight / desiredWeight值,你应该使用:
UPDATE Users SET weight = 160, desiredWeight = 145 WHERE id = 1;
如果你想要也可以使用INSERT .. ON DUPLICATE KEY语法如下:
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列是一个autoincrement列,那么你可以从你的INSERT中省略它们,并让mysql正常增加。