MySQL ALTER IGNORE TABLE により整合性制約違反が発生する
ALTER IGNORE TABLE を使用して MySQL テーブルを変更し、一意のキーを追加しながら重複値を削除すると、重複キーエラーを防ぎます。ただし、ユーザーは IGNORE フラグを使用しているにもかかわらず、「整合性制約違反」エラーが発生しました。
説明:
MySQL ドキュメントには、IGNORE がデータベースに重複をスキップするように指示すると記載されています。 ALTER TABLE 操作中に一意のキーにある行。しかし、場合によっては、特に InnoDB テーブルの場合、IGNORE 拡張機能に整合性制約違反を引き起こすバグがあるようです。
解決策:
この問題が発生した場合は、次の回避策を検討してください:
に切り替えるMyISAM エンジン:
IGNORE を使用して一意のインデックスを追加:
Convert Back to InnoDB:
注:
以上がMySQL で ALTER IGNORE TABLE が依然として整合性制約違反を引き起こすのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。