那么这个查询出了什么问题:
INSERT `ttf` SET `weight_id` = 4 WHERE `weight_id` = 4MySQL官方手册中的语法参考:
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name
[PARTITION (partition_name,...)]
SET col_name={expr | DEFAULT}, ...
[ ON DUPLICATE KEY UPDATE
col_name=expr
[, col_name=expr] ... ]来源:https://dev.mysql.com/doc/refman/5.6/en/insert.html
我的查询返回一个错误:
SQL Error (1064): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `weight_id` = 4' at line 1 是的,我有MySQL server v.5.6,并且我知道通常使用的插入...值(...)语法,但我想使用SET语法。
发布于 2013-06-17 04:30:57
您可能需要检查UPDATE语法
UPDATE `ttf` SET `weight_id` = 4 WHERE `weight_id` = 4正如您正确地说过的,INSERT语法不支持WHERE,因为它插入新行而不更新旧行,这需要知道要更新哪一行。
发布于 2013-06-17 04:25:28
算了,找到了。插入不支持WHERE。
这条错误消息本可以有所帮助!
https://stackoverflow.com/questions/17137363
复制相似问题