DBAtlas · 数据库运维图谱

23503: foreign_key_violation

PostgreSQL

含义

违反了 FOREIGN KEY 约束。插入/更新的行所引用的父行不存在,或要删除的父行仍有依赖的子行。

原因

INSERT/UPDATE 引用了不存在的父键、尝试删除/更新仍被引用的父行,或数据加载顺序错误(先子后父)。

解决方法

先插入父行,再插入子行。如果删除时需要级联行为,使用 ON DELETE CASCADE 或 ON DELETE SET NULL 定义约束。批量加载时按父-子顺序加载数据。查找引用行:SELECT * FROM child WHERE fk_column = value。

在 DBAtlas 中打开 →

同一数据库的其他条目