ホームページ >データベース >mysql チュートリアル >MySQL 外部キー制約エラー 1452: 「子行を追加または更新できません」を修正する方法?
MySQL の外部キー制約エラー:「エラー 1452: 子行を追加または更新できません」
子テーブルにデータを挿入する場合、外部キー制約により、親テーブルで参照されるデータが存在することが保証されます。ただし、この制約に違反すると、次のクエリに示すようにエラーが発生します:
<code class="language-sql">INSERT INTO Ordrelinje (Ordre, Produkt, AntallBestilt) VALUES (100, 1, 5);</code>
エラーを理解しています
エラー「エラー 1452: 子の行を追加または更新できません: 外部キー制約が失敗しました」は、指定された外部キー値に一致する行が親テーブルにないことを示します。この例では、OrderID 100 の Ordre はありません。
問題を解決してください
このエラーを解決するには、まず参照されるデータが親テーブルに存在することを確認する必要があります:
<code class="language-sql">INSERT INTO Ordre (OrdreID, KundeID) VALUES (100, 200);</code>
親テーブルに必要なデータがあれば、外部キー制約エラーが発生することなく子テーブルにデータを挿入できます。
<code class="language-sql">INSERT INTO Ordrelinje (Ordre, Produkt, AntallBestilt) VALUES (100, 1, 5);</code>
外部キー関係
外部キー関係はテーブル間のリンクを確立し、データの整合性を確保し、データ操作の異常を防ぎます。子テーブルには、親テーブルの列を参照する列が含まれており、親子関係が作成されます。
外部キー制約を強制する
デフォルトのデータベース設定では通常、外部キー制約が適用されます。違反が発生すると、データベースはデータ操作操作を続行できなくなります。
以上がMySQL 外部キー制約エラー 1452: 「子行を追加または更新できません」を修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。