2011-03-22 90 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