我想使用C API向MySQL发送批量更新。如果其中任何一个失败,我需要知道哪一个失败了。这有什么选择?我可以在my_query()中使用multiple语句命令,还是可以使用多个插入?在这两种情况下,我都没能找到如何检索失败的确切行(由于重复键)
答案 0 :(得分:0)
如果使用批量插入,如果其中一个记录的插入失败,该命令将失败。在这种情况下,不会插入任何行,并且您将收到包含重复值的文本的错误。
例如:
INSERT INTO table10 VALUES (1), (2), (3);
ok
INSERT INTO table10 VALUES (4), (1), (2);
Duplicate entry '1' for key 'PRIMARY'
此外,您可以使用INSERT语句中的IGNORE选项忽略所有错误。