データベースとしてMySQLを使用しています。
外部キーを追加したいのですが、Cannot add foreign key constraint
と表示されて追加することができません。
他にメッセージも表示されないのでどうしたらよいかわかりません。
どうすればよいのでしょうか?
発生している問題
以下のコマンドを実行したときにCannot add foreign key constraint
と表示され外部キーを追加することができません。
ALTER TABLE tags_articles ADD FOREIGN KEY (tag_id) REFERENCES tags(id);
テーブル定義
タグの情報を保存するテーブル
CREATE TABLE `tags` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
記事につけられているタグを保存するテーブル
CREATE TABLE `tags_articles` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `tag_id` int(11) NOT NULL, `article_id` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=39 DEFAULT CHARSET=utf8;
試したこと
- データ型が一致していることを確認した
- 文字コードが一致していることを確認した
- InnoDBであることを確認した
環境
MySQL 5.6.33

回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2017/02/13 04:33