可能重复:
How to add a where clause in a MySQL Insert statement?
我正在使用WHERE子句编写SQL INSERT STATEMENT。
INSERT INTO House ( ID ,ADDRESS ) VALUES ('12','LONDON') WHERE OWNER='1';
我得到的错误:
ERROR 1064 (42000): 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 OWNER='1'' at line 1
答案 0 :(得分:4)
WHERE
中使用了 UPDATE query
。如果得到where子句,请使用UPDATE进行查询。
答案 1 :(得分:4)
您不能将WHERE
子句用于INSERT
查询..
如果您希望在记录存在时更新记录
INSERT INTO House ( OWNER, ID ,ADDRESS ) VALUES ('1', '12','LONDON')
ON DUPLICATE KEY UPDATE ID = '12', ADDRESS = 'LONDON'
' ON DUPLICATE KEY '语句仅适用于 PRIMARY KEY和 UNIQUE 列
查看此link了解详情
答案 2 :(得分:1)
INSERT INTO没有WHERE子句。删除它。
答案 3 :(得分:1)
如果您从表格中选择或更新表格,则可以使用WHERE
子句。
所以你通常会有像
这样的东西INSERT INTO Table (Columns...) SELECT Columns... FROM SomeOtherTable WHERE Condition
在您的情况下,您需要使用
INSERT INTO House ( ID ,ADDRESS ) VALUES ('12','LONDON')
答案 4 :(得分:1)
WHERE子句不适用于INSERT INTO语句。您可以将该子句与SELECT语句一起使用
您的正确代码如下:
INSERT INTO House(ID,ADDRESS)值(12,'LONDON');