【SQL】外部キーが設定されていてもデータを消す方法

外部キーがあるとデータが消せない

DELETE や TRUNCATEを実行した時に以下のようなエラーが出た場合

ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails

外部キーが設定されていて削除することができなくなっています。

簡単に言えば、つながっているデータがあるので消せないということです。

外部キーの設定を外して、データを削除して、また外部キーを設定してというのは時間がもったいないし、面倒ですよね。

対応

SET FOREIGN_KEY_CHECKS=0;

を実行してから

TRUNCATE や DELETEが実行してみてください。

コメント

タイトルとURLをコピーしました