Mysql

MySQL 更新忽略不起作用 - 錯誤並且不更新所有行

  • June 13, 2017

我正在嘗試在我知道會導致一些重複鍵錯誤的表上執行更新。因此UPDATE IGNORE,據我所知,我正在使用這將忽略這些錯誤並仍然更新表的其餘部分,但事實並非如此 - 它只是失敗並出現錯誤:

[SQL] UPDATE IGNORE `activity-customer` set `customerid` = 12345 where `customerid` = 56789 

[Err] 1062 - Duplicate entry '12345-180221' for key 'PRIMARY'

SQL_MODE 未設置為 STRICT(為空)

這是使用 MySQL 5.5.47。

我很困惑!任何幫助表示讚賞!

我設法找到了這個。表上有一個觸發器正在更新/插入另一個表。

此觸發器上的更新/插入沒有忽略,實際上是引發了關鍵錯誤,而不是原始更新。

將忽略添加到該觸發程式碼中解決了該問題。

引用自:https://dba.stackexchange.com/questions/174597