前提・実現したいこと
mysqlを使って簡単なデータベースを作成しています。
外部キーの設定をしたいのですが、エラーが発生しています。
原因がわかる方、回答お願いいたします。
発生している問題・エラーメッセージ
外部キーの設定ができません。
エラーメッセージ ERROR 1072 (42000): Key column 'countory_id' exist in table ### 該当のソースコード CREATE TABLE maker( id INT AUTO_INCREMENT, name VARCHAR(20) UNIQUE, year char(4), updated_date TIMESTAMP, PRIMARY KEY(id), FOREIGN KEY (countory_id) REFERENCES countory (id) ); ```ここに言語名を入力 MySQL ソースコード CREATE TABLE countory( id INT AUTO_INCREMENT, name VARCHAR(4) UNIQUE, PRIMARY KEY(id) ); CREATE TABLE maker( id INT AUTO_INCREMENT, name VARCHAR(20) UNIQUE, year char(4), updated_date TIMESTAMP, PRIMARY KEY(id), FOREIGN KEY (countory_id) REFERENCES countory (id) ); CREATE TABLE parts( id INT AUTO_INCREMENT, name VARCHAR(20) UNIQUE, genre VARCHAR(20), PRIMARY KEY(id) ); CREATE TABLE maker_parts( id INT AUTO_INCREMENT, year CHAR(4), maker_id INT, parts_id INT, updated_date TIMESTAMP, PRIMARY KEY(id, maker_id, parts_id), FOREIGN KEY(maker_id) REFERENCES maker(id), FOREIGN KEY(parts_id) REFERENCES parts(id) ); ### 試したこと FOREIGN KEY (countory_id) REFERENCES countory (id) の部分を FOREIGN KEY countory(id) REFERENCES countory (id) にすると通ることは通ります。 ですが、 INSERT INTO maker(id, name, year) VALUES ... と入力すると ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`db_b`.`maker`, CONSTRAINT `maker_ibfk_1` FOREIGN KEY (`id`) REFERENCES `countory` (`id`)) と表示されます。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
スペルミスですかね? countory → country
回答3件
あなたの回答
tips
プレビュー