ホームページ >データベース >mysql チュートリアル >「子行を追加または更新できません: 外部キー制約が失敗します」エラーの原因は何ですか?
データベース整合性制約違反: 外部キー エラーについて
外部キー制約は、テーブル間の関係を維持することでデータの整合性を保証します。これらの制約に違反するデータを操作しようとすると、「整合性制約違反」エラーが発生します。
この場合、「子行を追加または更新できません: 外部キー制約が失敗しました」というエラーが発生しました。これは、コメント テーブルに挿入しようとしている値が外部キー制約に違反していることを示しています。
データベース スキーマの外部キー制約
データベース スキーマを確認すると、comments テーブルの外部キー project_id 列に外部キー制約があり、projects テーブルの id 列を参照していることがわかります。これは、comments テーブルの project_id 列のすべての値が、projects テーブルの id 列に存在する必要があることを意味します。
クエリ内の競合
実行しようとしている MySQL ステートメントは、project_id '50dc845a-83e4-4db3-8705-5432ae7aaee3' を持つ行をコメント テーブルに挿入します。ただし、この値はプロジェクト テーブルの id 列には存在しません。したがって、外部キー制約に違反します。
競合を解決する
この問題を解決するには、コメント テーブルに挿入された project_id 値が有効であり、プロジェクト テーブルの対応する列に存在することを確認する必要があります。この値がプロジェクト テーブルに存在することを確認し、それに応じて挿入ステートメントの値を修正します。
以上が「子行を追加または更新できません: 外部キー制約が失敗します」エラーの原因は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。