こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

FOREIGN KEYの追加について。

FOREIGN KEYの追加について。
MySQL5.1.37

CREATE TABLE `goods` (
`id` int NOT NULL AUTO_INCREMENT,
`num` int NOT NULL DEFAULT '1',
PRIMARY KEY (`id`),
index (`num`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `sales` (
`id` int NOT NULL AUTO_INCREMENT,
`num` int NOT NULL DEFAULT '1',
PRIMARY KEY (`id`),
index (`num`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

上記のようなテーブルを作り、salesテーブルにCSVファイルからデータをインポートしたのち、FOREIGN KEYを子テーブルに追加したいのですが、下記のようなエラーになります。

ALTER TABLE `sales` ADD FOREIGN KEY ( `num` ) REFERENCES `test`.`goods` (
`num`
) ON UPDATE CASCADE ;

MySQLのメッセージ: ドキュメント
#1452 - Cannot add or update a child row: a foreign key constraint fails (`test`.`#sql-561_cf`, CONSTRAINT `#sql-561_cf_ibfk_1` FOREIGN KEY (`num`) REFERENCES `goods` (`num`) ON UPDATE CASCADE)

データをインポートしたのちにFOREIGN KEYを追加するにはどのようにしたらいいのでしょうか?

投稿日時 - 2010-02-15 15:17:03

QNo.5678739

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

>REFERENCES `test`.`goods`

のところを

REFERENCES `goods`

としてみては?

投稿日時 - 2010-02-15 15:31:46