MySQL插入[…]集不工作
那么这个查询有什么问题呢:MySQL插入[…]集不工作,mysql,syntax,sql-insert,Mysql,Syntax,Sql Insert,那么这个查询有什么问题呢: INSERT `ttf` SET `weight_id` = 4 WHERE `weight_id` = 4 官方MySQL手册中的语法参考: INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_name,...)] SET col_name={expr | DEFAULT}, ... [ ON
INSERT `ttf` SET `weight_id` = 4 WHERE `weight_id` = 4
官方MySQL手册中的语法参考:
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] ... ]
资料来源:
我的查询返回一个错误:
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,我知道通常使用的INSERT[…]VALUES(…)语法,但我想使用SET语法。没关系,找到了。
Insert不支持WHERE
错误消息可能会有所帮助 您可能需要检查语法
正如您正确地说的那样,INSERT
语法不支持WHERE
,因为它插入新行而不更新旧行,这需要知道要更新哪一行
UPDATE `ttf` SET `weight_id` = 4 WHERE `weight_id` = 4