SQL INSERT语句错误 - Where子句出错

时间:2012-07-27 05:48:25

标签: mysql

  

可能重复:
  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

5 个答案:

答案 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');