2012-05-08 12 views
1

INSERTをテーブルにしようとしていますが、エラーCannot add or update a child row: a foreign key contraint failsが発生します。外部キーを持つINSERTステートメント

エラーが示すように、私は更新しようとしている外部キーがあります。 foreignKeytblTable2のIDであればどのように私はこれを挿入することができ

INSERT INTO tblTable1 (firstColumn, foreignKey) VALUES ('blabla', 1) 

今私はのような単純なINSERTを使用していますか?

+0

tblTable1の 'create table statement'と' SELECT * FROM tblTable2 WHERE ID = 1'の結果を投稿できますか? –

答えて

3

レコードを親テーブルに追加してから、子テーブルに追加する必要があります。 foreign key constraints上のMySQLのドキュメントから

InnoDBは親テーブル内の一致 候補キー値何が存在しない場合 に、子表の外部キー値を作成しようとする任意のINSERTまたはUPDATE操作を拒否。

ここには、how to use foreign key constraintsのMySQLドキュメントと例があります。

2

あなたは拘束を維持する必要があります。関連するテーブルに適切な値を持たないレコードを追加することはできません!

2

最初に、Table2に外部キー制約を適用したエントリを挿入し、Table1にinsertクエリを追加します。それは動作します

関連する問題