Mysql
MySQL 更新忽略不起作用 - 錯誤並且不更新所有行
我正在嘗試在我知道會導致一些重複鍵錯誤的表上執行更新。因此
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。
我很困惑!任何幫助表示讚賞!
我設法找到了這個。表上有一個觸發器正在更新/插入另一個表。
此觸發器上的更新/插入沒有忽略,實際上是引發了關鍵錯誤,而不是原始更新。
將忽略添加到該觸發程式碼中解決了該問題。