2011-08-30 102 views
0

我想使用C API向MySQL發送批量更新。如果其中任何一個失敗,我需要知道哪一個失敗。這有什麼選擇?我可以在my_query()中使用multiple語句命令,還是可以使用多個插入?在這兩種情況下,我沒有找到如何檢索其失敗(因爲重複鍵)mysql C API批量插入

回答

0

如果使用批量插入的確切行,如果一條記錄插入失敗命令失敗。在這種情況下,沒有行會被插入,你會得到一個錯誤與包含重複的值的文本。

例如:

INSERT INTO table10 VALUES (1), (2), (3); 
ok 
INSERT INTO table10 VALUES (4), (1), (2); 
Duplicate entry '1' for key 'PRIMARY' 

此外,您還可以使用在INSERT語句中忽略選項忽略所有的錯誤。

+0

謝謝Devart。當我使用IGNORE時,所有重複的條目都是重複的。我現在可以知道重複的次數,但仍不知道哪些重複。 –

+0

請提供表結構(CREATE TABLE語句)和標準,找出重複。 – Devart