テーブルを作成しようとしているだけなのに、’外部キー制約を追加出来ません。’メッセージが表示されてテーブルを作成させてもらえない時の確認項目の1つ。
レアなケースなので参考になる人はあまりいないと思われるが、一応メモ。
例えば、こんなテーブルがあったとして、articlesテーブルのmember_idは、membersテーブルのidを外部制約としているとする。
membersテーブル
・id
・name
articlesテーブル
・id
・member_id
・title
この状態で、membersテーブルを1度削除する。そして、membersテーブルを再度create(insertはせずにcreateのみ)しようとすると、‘#1215 – 外部キー制約を追加できません。’が発生する。
この場合の解決方法は、articlesテーブルの外部制約を削除してから、membersテーブルをcreateすればOK。
しかし、membersテーブルを削除したのに、外部キー制約の設定が残っているのが不思議だ。。。