MySQL:外部キー制約のあるカラムを削除する
いつもカラムが消せない!って調べることになるのでメモ。
FOREIGN KEYが設定されたカラムを削除しようとするとエラーが出る。
ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails
まずFOREIGN KEY を削除する必要があるが、削除するためにはそのキーのシンボル値を知る必要がある。
シンボル値の確認
SHOW CREATE TABLE table_name
レスポンス:
CONSTRAINT `table_name_ibfk_1` FOREIGN KEY (column_name)...
FOREIGN KEY削除
ALTER TABLE table_name DROP FOREIGN KEY table_name_ibfk_1
カラム削除
ALTER TABLE table_name DROP COLUMN yyyy