Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL插入[…]集不工作_Mysql_Syntax_Sql Insert - Fatal编程技术网

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