1

テーブルに入ろうとしINSERTていますが、エラーが発生しますCannot add or update a child row: a foreign key contraint fails

エラーが示すように、更新しようとしている外部キーがあります。

現在、私は次のINSERTような単純なものを使用しています。

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

foreignKeyのIDがである場合、どうすればこれを挿入できtblTable2ますか?

4

3 に答える 3

3

最初にレコードを親テーブルに追加し、次に子テーブルに追加する必要があります。

外部キー制約に関するMySQLドキュメントから:

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

外部キー制約と例の使用方法に関するMySQLドキュメントは次のとおりです。

于 2012-05-08T13:13:37.307 に答える
2

あなたはあなたの封じ込めを守らなければなりません。関連するテーブルに適切な値を持たないレコードを追加することはできません!

于 2012-05-08T13:02:22.147 に答える
2

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

于 2012-05-08T13:04:23.410 に答える