ホームページ >データベース >mysql チュートリアル >MySQL 外部キー制約エラー 1452: 「子行を追加または更新できません」を修正する方法?

MySQL 外部キー制約エラー 1452: 「子行を追加または更新できません」を修正する方法?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-21 05:07:08383ブラウズ

MySQL Foreign Key Constraint Error 1452: How to Fix

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。