【Mysql】外部キー制約を無効化する方法
Mysql でテーブルやデータを削除する時に外部キーのせいで簡単に出来ない時がそれを解決するために外部キー制約を無効化する方法
外部キー制約を無効化
以下のコマンドを使用すると外部キーチェックを無効化ができます。
|
|
サンプル
実際に使用してみるためのサンプルです。
サンプルとして使用するテーブル。
|
|
エラーになるパターン
child
テーブルから parent
テーブルへの外部キーがついているのでエラーが発生する。
DROP TABLE parent;
エラーが発生します。
SQLSTATE[HY000]: General error: 1824 Cannot drop table 'parent' referenced by a foreign key constraint 'child_ibfk_1' on table 'child'.
エラー内容は「外部キーが付いてるから削除ができない」です。
Error number: 3730; Symbol: ER_FK_CANNOT_DROP_PARENT; SQLSTATE: HY000
外部キーチェックを無効化する
以下のように、一時的に外部キーチェックを無効化することによって削除が可能です。
|
|