哪条记录导致INSERT IGNORE不插入?

时间:2011-12-14 09:24:32

标签: mysql sql database

在MySQL中,当INSERT IGNORE没有插入任何内容时,是否有可能导致导致INSERT IGNORE“失败”的行?

2 个答案:

答案 0 :(得分:2)

另一种更正确的方法是在ON DUPLICATE KEY UPDATE

中使用LAST_INSERT_ID()

那就是改变:

INSERT IGNORE INTO the_table (id) VALUES (1);

要:

INSERT INTO the_table (id) VALUES (1)
ON DUPLICATE KEY UPDATE
    id = LAST_INSERT_ID(id);

这不会对表做任何更改,但是对LAST_INSERT_ID()的以下调用将返回新插入项的id或显式传递给函数的最后结果。

答案 1 :(得分:0)

您可以实现此目的的一种方法是添加一个可用作标记的字段,然后将ON DUPLICATE KEY UPDATE dup = dup+1(或类似)添加到查询中。