2

我正在尝试使用 INSERT IGNORE INTO 将行添加到表中(如果它尚不存在)。
这是目前的声明:

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

但是,由于我在表上有一个自动递增的主键(这当然不是插入的一部分),所以它总是进行插入。有没有办法忽略主键,这样如果整数和日期已经在表中,它就不会插入另一行?

4

1 回答 1

3

将 UNIQUE 键放在整数和日期上,或两者的组合上 - 以适合您的需要为准。这将防止INSERT IGNORE插入违反 UNIQUE 索引的值。

例如,如果您想让两者的组合独一无二:

alter table my_table add unique index(integer, date)
于 2012-08-09T22:59:20.203 回答