foreign key が多すぎてテーブルが消せないよママン… リレーショナルデーターベースの鬼子。ERD(ER図)を書くときにわかりやすくなるのでつける人が多いだろう。 確かにこれがあることで制約が守られて健全な構造になるというのは分かるんだけど、その関係性を(あたりまえだけど)常に保つためとにかくメンテナンスし辛くなる。 特に開発初期にテーブル構造を頻繁に作り替えるときなどはdrop tableもままならない状態に陥って、ついdrop databaseしてしまうこともしばしばだろう。 …だよね? というわけで、MySQLで制約を無視してテーブルを削除できるコマンドをメモ。 対応方法 MySQLのステートメントを利用すると制御をON・OFFできる。 外部キーおよびその他のMySQLステートメント 使うステートメントは以下。 FOREIGN_KEY_CHECKS 制約を無効にするときは S