DBAtlas · 数据库运维图谱

547: The INSERT/UPDATE/DELETE statement conflicted with the FOREIGN KEY / CHECK constraint(INSERT/UPDATE/DELETE 语句与 FOREIGN KEY / CHECK 约束冲突)

SQL Server

含义

该语句违反了 FOREIGN KEY 或 CHECK 约束:要么引用了不存在的父行,要么写入了违反 CHECK 规则的值,要么尝试删除仍被引用的父行。

原因

FK:插入的子行所引用的父行不存在。DELETE/UPDATE:有子行依赖于要删除/修改的父行。CHECK:列值不满足定义的条件。

解决方法

先插入父行,再插入子行。删除时先删除依赖行,或在合适的情况下定义 ON DELETE CASCADE。对于 CHECK 违规,使值符合规则。根据错误文本中的约束名确定被违反的约束。

在 DBAtlas 中打开 →

同一数据库的其他条目