-3

可能重复:
如何在 MySQL 插入语句中添加 where 子句?

我正在编写带有 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
4

5 回答 5

4

WHERE用于UPDATE query. 如果获得 where 子句,请使用 UPDATE 查询。

于 2012-07-27T05:50:19.680 回答
4

您不能将WHERE子句与INSERTQuery..

如果您想更新记录(如果记录存在)

INSERT INTO House ( OWNER, ID ,ADDRESS ) VALUES ('1', '12','LONDON') 
ON DUPLICATE KEY UPDATE ID = '12', ADDRESS = 'LONDON'

' ON DUPLICATE KEY ' 语句仅适用于PRIMARY KEY 和UNIQUE

检查此链接以获取更多信息

于 2012-07-27T05:51:49.857 回答
1

INSERT INTO 没有 WHERE 子句。去掉它。

于 2012-07-27T05:49:51.850 回答
1

WHERE如果从表中选择或更新表,则只能使用该子句。

所以你通常会有类似的东西

INSERT INTO Table (Columns...) SELECT Columns... FROM SomeOtherTable WHERE Condition

在您的情况下,您需要使用

INSERT INTO House ( ID ,ADDRESS ) VALUES ('12','LONDON')
于 2012-07-27T05:50:51.423 回答
1

WHERE 子句不适用于 INSERT INTO 语句。您可以将子句与 SELECT 语句一起使用

您的正确代码如下:

插入房屋(ID,地址)值(12,'伦敦');

于 2012-07-27T05:53:11.523 回答