質問: データベースとして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
回答: `tags_articles`.`tag_id` int(11) `tags`.`id` int(11) unsigned で unsigned の有無も一致させたらどうなりますか?