2012-08-09 59 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