ホームページ >データベース >mysql チュートリアル >「子行を追加または更新できません: 整合性制約違反」を解決するにはどうすればよいですか?
「子行を追加または更新できません: 整合性制約違反」エラーの解決
外部キー制約を含むテーブルにデータを挿入すると、整合性制約違反エラーが発生する場合があります。このエラー メッセージは、外部キー制約が失敗したため、子行を追加または更新できないことを意味します。
たとえば、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 サイトの他の関連記事を参照してください。