ホームページ >データベース >mysql チュートリアル >「子行を追加または更新できません: 整合性制約違反」を解決するにはどうすればよいですか?

「子行を追加または更新できません: 整合性制約違反」を解決するにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-24 14:12:09643ブラウズ

How to Resolve

「子行を追加または更新できません: 整合性制約違反」エラーの解決

外部キー制約を含むテーブルにデータを挿入すると、整合性制約違反エラーが発生する場合があります。このエラー メッセージは、外部キー制約が失敗したため、子行を追加または更新できないことを意味します。

たとえば、comments テーブルを参照する外部キー制約がある projects テーブルに行を挿入してみます。このエラーは、project_id 列に挿入した値が projects テーブルに存在しないために発生します。

この問題を解決するには、project_id 列に挿入する値が projects テーブルに存在することを確認してください。これは、projects テーブルに行を挿入する前に、まず comments テーブルに対応する ID 値を持つ行を作成する必要があることを意味します。

以下は操作例です:

<code class="language-sql">INSERT INTO projects (id, user_id, title, description, created, modified)
VALUES ('50dc845a-83e4-4db3-8705-5432ae7aaee3', '50dcbc5c-d684-40bf-9715-0becae7aaee3', '全新项目', '这是一个全新项目', '2012-12-27 15:24:02', '2012-12-27 15:24:02');
INSERT INTO comments (project_id, user_id, task_id, data_type_id, message, modified, created, id)
VALUES ('50dc845a-83e4-4db3-8705-5432ae7aaee3', '50dcbc5c-d684-40bf-9715-0becae7aaee3', '1', '50d32e5c-abdc-491a-a0ef-25d84e9f49a8', '这是一个测试', '2012-12-27 19:20:46', '2012-12-27 19:20:46', '50dcf3ee-8bf4-4685-aa45-4eb4ae7aaee3');</code>

このエラーは、対応するレコードが親テーブルに存在することを確認することで回避できます。 データをチェックし、外部キーによって参照される ID 値が親テーブルにすでに存在していることを確認してください。

以上が「子行を追加または更新できません: 整合性制約違反」を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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