MySQL 的 ALTER 語句允許您修改表定義,包括新增唯一鍵。 IGNORE 關鍵字擴充功能允許在此操作期間刪除重複行。但是,使用者報告即使使用 IGNORE 時也會遇到「完整性約束違規」錯誤。
問題:
執行ALTER IGNORE TABLE 語句以基於唯一鍵刪除重複項時,仍然遇到「完整性約束違規」錯誤,與此文件中IGNORE 可以防止此錯誤的說法相矛盾。
原因:
IGNORE 關鍵字擴充似乎在InnoDB 中存在錯誤
解:
為了避免這個問題,可以暫時將表轉換為MyISAM,使用IGNORE新增唯一索引,
注意:如果存在外鍵約束,必須先將其刪除,然後在轉換後重新新增。
以上是為什麼即使使用 IGNORE,ALTER IGNORE TABLE 也會因為違反完整性限製而失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!