2012-07-27 90 views
-3

可能重複:
How to add a where clause in a MySQL Insert statement?SQL INSERT語句錯誤 - 錯誤的Where子句

我寫與WHERE子句SQL INSERT語句。

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

http://stackoverflow.com/questions/2349993/how-to-add-a-where-clause-in-a-mysql-insert-statement同樣的問題 – Jalpesh 2012-07-27 05:53:44

回答

4

WHERE用於UPDATE query。如果得到where子句,請爲您的查詢使用UPDATE。

+0

我想我需要的是一個'UPDATE'查詢。謝謝 – 2012-07-27 05:54:37

+0

'UPDATE House Set ID ='12',values ='LONDON'WHERE OWNER ='1';' – sel 2012-07-27 05:56:40

1

INSERT INTO沒有一個WHERE子句。去掉它。

1

如果您從表中進行選擇或更新表,則可以使用WHERE子句。

所以你wouls通常有一個像

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

你的情況,你需要使用

INSERT INTO House (ID ,ADDRESS) VALUES ('12','LONDON') 
4

不能使用WHERE條款與INSERT查詢東西..

如果您如果記錄已存在,則需要更新記錄

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

的 '對重複KEY' 語句僅適用於PRIMARY KEYUNIQUE

檢查這個link更多信息

1

WHERE子句中亙古不變的與INSERT INTO工作發言。您可以使用子句與SELECT語句

正確的代碼,你會像:

INSERT INTO府(ID,地址)的值(12, '倫敦');