ORA-02291: 违反完整约束条件 - 未找到父项关键字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORA-02291: 违反完整约束条件 - 未找到父项关键字相关的知识,希望对你有一定的参考价值。

参考技术A 最近,应该是很久了遇到这个问题,一直觉得不影响自己工作使用,就一直在执行sql的时候跳过了,但是,心里一直有个疙瘩。今天把问题解决了,很开心,就把解决问题的具体过程写一下,算是给自己一个记录。

有关此问题的所有文章中,都说了这个问题出现的场景:向某张表A中插入数据,A表的某个字段m是外键,关联到了另外一张表B,由此产生了问题。

解决方法无非三种:

首先要说的就是最不应该出现的问题:

数据类型长度不一致 :即A表中的外键字段和B表中的被外键关联的字段数据类型长度不一致。由此产生了问题,这个问题如果出现,我觉得建表的人可以找个没人的地方面壁思过一下。

后面两种情况可以归为一类:

外键或者外键环中数据不一致:

外键 :A表的外键关联的为B表中的字段,则应该A有数据则B必有数据,A为空则B必为空,如果A中有数据,但B中无数据,就会报错。

外键环 :A表的外键关联的为B表中的字段,B表中的字段又为外键关联C表中的字段。。。。。。,这个过程中,出现外键数据不一致的问题,就会报错。

每天进步一点点。

推荐微信公众号【排骨肉段】,记录日常的美好。

ora-02292:违反完整约束条件(XXX.FKXXX)- 已找到子记录

--Oracle报错:“ORA-02292:违反完整约束条件(XXX.FKXXX)- 已找到子记录 解决:找到约束的子表
select a.constraint_name, a.table_name, b.constraint_name 
from user_constraints a, user_constraints b
where a.constraint_type = ‘R‘ 
and b.constraint_type = ‘P‘ 
and a.r_constraint_name = b.constraint_name
and a.constraint_name = upper(‘FKXXX‘)

  

以上是关于ORA-02291: 违反完整约束条件 - 未找到父项关键字的主要内容,如果未能解决你的问题,请参考以下文章

ORA-02291: 违反完整约束条件 (*) - 未找到父项关键字

ORA-02291: 违反完整约束条件 - 未找到父项关键字

SQL ORA-02291: 违反完整性约束 - 未找到父键

ORA-02291: 违反完整性约束 (PRUEBA4.AUTO_MARCA_FK) - 未找到父键

ORA-02291: 违反完整性约束 (OPS$P2417335.VOD_FILM_CLASS_FK) - 未找到父密钥

ORA-02291: 完整性约束;找不到父键错误