ホームページ > データベース > mysql チュートリアル > MySQL 外部キー制約エラー (エラー コード 1452) が発生するのはなぜですか?

MySQL 外部キー制約エラー (エラー コード 1452) が発生するのはなぜですか?

Barbara Streisand
リリース: 2025-01-21 05:20:13
オリジナル
664 人が閲覧しました

Why Am I Getting a MySQL Foreign Key Constraint Failure (Error Code 1452)?

MySQL 外部キー制約が失敗しました: エラー コード 1452

MySQL データベースの ORDRELINJE テーブルに値を挿入しようとすると、「エラー コード: 1452。子の行を追加または更新できません: 外部キー制約が失敗しました。」というメッセージでエラーが発生しました。

外部キー制約を理解する

外部キー制約は、リレーショナル データベースの参照整合性を保証します。外部キーは、親テーブルの主キー列を参照する子テーブルの列です。子テーブルで行が挿入または更新されるとき、外部キーの値は、親テーブルの主キー列の既存の値と一致する必要があります。

エラー分析

この場合、エラーは、ORDRELINJE テーブルに Ordre テーブルを参照する外部キー制約があることを示しています。 ORDRELINJE 表に行を挿入しようとすると、Ordre 列の値が Ordre 表内の既存の行と一致しません。

エラーの解決

このエラーを解決するには、次の条件が満たされていることを確認してください:

  1. 親テーブルの行の一致: ORDRELINJE テーブルの Ordre 列の値は、Ordre テーブルの OrdreID 列の既存の値と一致する必要があります。必要に応じて、まず対応する行を Ordre テーブルに挿入します。
  2. データ型の互換性: 外部キー列 (Ordre) とそれが参照する主キー列 (OrdreID) のデータ型は一致する必要があります。
  3. カスケード動作: 親テーブルに一致する行がない場合でも、子テーブルに行を挿入できるように外部キー制約を構成します。これは、外部キー制約の作成時に ON DELETE CASCADE または ON UPDATE CASCADE オプションを使用することで実現できます。

以上がMySQL 外部キー制約エラー (エラー コード 1452) が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート