2011-03-22 71 views
0

我有這樣的SQL查詢:的MySQL插入記錄

insert into messages 
(message, hash, date_add) 
values 
('message', 'hash', NOW()) 
ON DUPLICATE KEY IGNORE 

散列是獨一無二的,什麼是錯的查詢?我得到的錯誤:

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 'IGNORE' at line 1

+0

沒有對重複鍵忽略,只在重複鍵更新。您可能意思是INSERT IGNORE,正如Frosty Z指出的那樣。 – Dexter 2011-03-22 18:23:41

回答

4

根據MySQL doc語法應爲:

INSERT IGNORE INTO messages (message, hash, date_add) 
    VALUES('message', 'hash', NOW()); 
+0

並且我必須在'ON DUPLICATE KEY'? – kusanagi 2011-03-22 18:16:35

+0

根據文檔,您不需要,因爲在INSERT之後放置'IGNORE'應該等同於您在最後添加'ON DUPLICATE KEY IGNORE'時想要做的事情。 – 2011-03-22 18:20:47