2012-08-09 93 views
2

我想使用INSERT IGNORE INTO向表中添加一行,如果它不存在。
下面是聲明,因爲它代表現在:用主鍵插入忽略到Mysql

INSERT IGNORE INTO my_table (integer, date) VALUES (11111, CURDATE()) 

然而,由於我對錶自動遞增的主鍵(這是當然不是插入的部分),它總是插入。有沒有辦法忽略主鍵,如果整數和日期已經在表中,它不會插入另一行與他們?

回答

2

將一個UNIQUE鍵放在整數和日期或兩者的組合上 - 無論哪個符合您的需求。這將阻止INSERT IGNORE插入違反UNIQUE索引的值。

例如,如果你想使兩個獨特的組合:

alter table my_table add unique index(integer, date) 
+0

完美!這正是我所需要的,現在它很有用 – 2012-08-10 16:52:39