内容阅读
在知识库中专注阅读,并随时返回相关工具与课程
ORA-02291常见约束
违反完整性约束 - 未找到父键
Integrity constraint violated - parent key not found
错误描述
子表上的 INSERT 或 UPDATE 引用了父表中不存在的外键值。
可能原因
- 插入子记录时外键值在父表中不存在
- 父记录在子记录插入前被删除
- 数据加载顺序错误(先加载子表再加载父表)
解决方案
- 1先插入父记录,再插入子记录
- 2验证外键值在父表中存在
- 3批量加载时临时禁用约束:ALTER TABLE child DISABLE CONSTRAINT fk_name;
诊断命令
SELECT constraint_name, r_constraint_name, table_name FROM dba_constraints WHERE constraint_type = 'R' AND table_name = 'CHILD_TABLE';SELECT column_name FROM dba_cons_columns WHERE constraint_name = 'FK_NAME';#foreign-key#constraint#parent#referential-integrity