外部キー制約エラー
うーmm、くそ忙しくて最近なかなかブログ更新できてないです ><
MariaDB で稼働してる、構成がまったく同じDBが複数存在します。本日、こいつらにテーブルを追加してたら、あるDBだけ CREATE TABLE が失敗しました。エラー情報みると、
errno: 150 "Foreign key constraint is incorrectly formed"
どうも外部キー制約で弾かれてるらしい・・・・
よくありがちな、外部キーの型が違うとか unsigned が抜けてるよとか、そういうのではなさそう。テーブル定義は他のDBとまったく同じで、他は外部キー設けるの成功するため、何が原因かさっぱり判らなかったが、調査した結果、なんとこのDBだけ親テーブルが MyISAM になっているではないかっー!*1
というわけで、テーブルのエンジンを MyISAM から InnoDB に直したらあっさり通りました。こんなこともあるのねー、と備忘録でした(汗