MySQLで外部キー制約を適用しているテーブルにはDROP TABLE
ができません。
本番ではその挙動でもちろん良いのですが、開発中にテーブルをまるごと作り直したいときにはこの制約が邪魔になることがあります。またmysqldumpなどで出力したファイルをインポートする際にも、テーブルを順番通りインポートする必要が出てきます(外部キー制約があるとインポートに時間もかかりますよね)。
そういったときにforeign_key_checks
の値に「0」をセットすることで一時的に外部キー制約を無効にすることができます。
SET foreign_key_checks = 0;
再び有効にするには「1」を代入します。
SET foreign_key_checks = 1;