yuw27b’s blog

技術メモと雑記

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