ホームページ >データベース >mysql チュートリアル >MySQL エラー 1452: 外部キー制約の失敗を解決するには?
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 サイトの他の関連記事を参照してください。