2010年2月15日

[mysql 15191] Re: FOREIGN KEYについて

海老原さん、ありがとうございます。

> InnoDBでしたらできますよ。

以下のようにテストしましたが、データをインポートした後ではエラーになりま
す。

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を`sales`テーブルに追加したいのですが、下記の
ようなエラーになります。

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)


--
Shudo Oi

投稿者 xml-rpc : 2010年2月15日 19:12
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/93315
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。