ホームページ >データベース >mysql チュートリアル >MySQL エラー 1452: 外部キー制約の失敗を解決するには?

MySQL エラー 1452: 外部キー制約の失敗を解決するには?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-21 05:02:10618ブラウズ

MySQL Error 1452: How to Resolve Foreign Key Constraint Failures?

MySQL 外部キー制約エラー: エラー 1452

MySQL エラー「エラー 1452: 子行を追加または更新できません: 外部キー制約が失敗しました」は通常、親テーブルに一致する外部キー値がない状態で子テーブルに行を挿入または更新しようとすると発生します。

データベーススキーマ

指定されたデータベース スキーマでは、ORDRELINJE テーブルには、ORDRE テーブルの ORDERID 列を参照する外部キー制約と、PRODUKT テーブルの PRODUKTID 列を参照する別の外部キー制約があります。

外部キー制約の競合

ORDRELINJE テーブルに行を挿入しようとすると、システムは、ORDER 列と PRODUKT 列の値が、それぞれ ORDRE テーブルと PRODUKT テーブルの既存の行の値と一致するかどうかをチェックします。このエラーは、一致する行が見つからない場合にトリガーされます。

解決策

このエラーを解決するには、ORDRELINJE テーブルの ORDERID 値と PRODUKTID 値が、ORDRE テーブルと PRODUKT テーブルの既存の行に対応していることを確認してください。 ORDRELINJE を挿入する前に、ORDRE と PRODUKT に対応する行を挿入します。

たとえば、ORDERID = 100 および PRODUKTID = 200 の行を ORDRELINJE テーブルに挿入しようとすると、まず ORDRE テーブルに ORDERID = 100 の行が存在するかどうか、および PRODUKTID = 200 の行が存在するかどうかを確認します。 PRODUKT テーブルにあります。存在しない行がある場合は、ORDRELINJE を挿入する前にその行を挿入してください。

以上がMySQL エラー 1452: 外部キー制約の失敗を解決するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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