在MySQL中,当INSERT IGNORE没有插入任何内容时,是否有可能导致导致INSERT IGNORE“失败”的行?
答案 0 :(得分:2)
另一种更正确的方法是在ON DUPLICATE KEY UPDATE
那就是改变:
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
(或类似)添加到查询中。