ERROR 1025 (HY000): Error on rename of...(errno: 150)

久しぶりにMySQLのあるテーブルをアップデートしようとしたら、

ERROR 1025 (HY000): Error on rename of...(errno: 150)

と出る。
どうも他のデータから参照されているテーブルに追加、編集、削除ができないようにロックがかかっているらしい。

ALTER TABLE tablename DROP FOREIGN KEY associate_id

とやっても駄目だった。
これはコラム名ではなく、キーの値を入れないと駄目なためだ。

show create table

で、

CONSTRAINT `FK5DB0983915A5EB1` FOREIGN KEY (`associate_id`) REFERENCES `genre` (`id`)

と、CONSTRAINTになっているキーを捜し、それを元に、

ALTER TABLE tablename DROP FOREIGN KEY `FK5DB0983915A5EB1`

とやるとちゃんと外部制約をはずすことができる。
それでテーブルの編集やら削除やらができるようになる。