由于大意,在设置数据库表时将外键字段的类型与外键表的主键字段类型不一致,造成此错误. 我的情况是: 1.将一个为number(10)的外键设置成了number(19) 2.将外键字段对应的主键表设置成了另外的一张表(大意) 关于oracle出现ORA-02291: 违反完整约束条件 - 未找到父项关键字错误的几种情况.转载至:ORA-02291: 违反完整约束条件 - 未找到父项关键字 以下是信息留存: 总体说说可能出现的原因: 情况场景: 表A中有个字段是外键,关联了表B中的某字段,再往表A插…
ORA-02291: 违反完整约束条件 - 未找到父项关键字问题解决 总体说说可能出现的原因: 情况场景: 表A中有个字段是外键,关联了表B中的某字段,再往表A插入数据时,会出现这种情况. 可能原因: 1. 插入的数据 如果某个字段是外键 那么该值要么为空 要么在主键表中 有对应的主键值 否则 就不满足参照完整性约束 所以你肯定插入了 不存在的主键值 所以产生了这个错误 eg.创建A表 创建B表 向A表插入数据 向B表插入数据 向B 表中插入数据,B表中某个字段(外键)在A表(主表)中没有值:2…
在向Oracle数据库里面插入数据时发生了以下错误 ; ]; ORA-: 违反完整约束条件 (SSM.SYS_C0011830) - 未找到父项关键字 ; nested exception : 违反完整约束条件 (SSM.SYS_C0011830) - 未找到父项关键字 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:) org.springframework.web.se…
今天需要向一个没有接触过的一个Oracle数据库中添加一条记录,执行报错: 分析: 报错的根本原因:未找到父项关键字的原因是因为你在保存对象的时候缺失关联对象. 问题的解决思路:先保存关联对象后再保存该对象就可以解决了. 问题的解决方案:先存关联的对象,再建立关系,再保存此对象,就可以解决. 根据以上的分析,查看需要查看该表的DDL语句: 发现建表语句中有这样一条指令:   alter table T_GATEWAY_CHANNEL_IP  add constraint FK_GATEWAY_C…
--在用PL/SQL导入表数据的时候报错 ORA-02298: 无法验证 (PNET.POST_CLOB_FK) - 未找到父项关键字 --发现是启用外键约束时报的错alter table DM_VOLREV enable constraint VR_VOLID_FK; /*原因分析:你要插入的表A里,有外键连接到另一个表B的主键,你在表A的外键列插入的值,在表B的主键列找不到就不能插入.主要看两表中的数据是否一致,从表中要关联外键的字段中的数据必须包含在主表相关字段的数据内.处理的方法有: 1…
在运行以下语句的时候,报错如下: ALTER TABLE PN_POST ADD CONSTRAINT POST_CLOB_FK FOREIGN KEY (POST_BODY_ID) REFERENCES PN_POST_BODY_CLOB (OBJECT_ID); Error at line 1 ORA-02298: 无法验证 (PNET.POST_CLOB_FK) - 未找到父项关键字 [@more@] /* Style Definitions */ table.MsoNormalTable…
这个主要是A表的一个字段主键做了B表的外键,往B表插入数据就会出现这种情况 今天其他总结: detached entity passed to persist 错误的引起的原因和解决办法 这个主要是因为在mapping里面已经有设置id自增,在java代码的javabean又setId(),所以会出现错误…
主要原因是: 在添加CONSTRAINT的时候,默认是需要VALIDATE表中的已有数据的. 你要插入的表A里,有外键连接到另一个表B的主键,你在表A的外键列插入的值,在表B的主键列找不到就不能插入.主要看两表中的数据是否一致,从表中要关联外键的字段中的数据必须包含在主表相关字段的数据内. 处理的方法有: 1> 先不验证已有数据的CONSTRANT,加上参数NOVALIDATE. ALTER TABLE sub_tab ADD CONSTRAINT fk_sub_tab foreign KEY…
oracle违反完整约束条件 Oracle ORA-02292: 违反完整约束条件 (UNITELE.TA_SUB_REFERENCE3) - 已找到子记录 A表被B表引用,删除A表的时候提示ORA-02292,A表的主键被引用了,虽然已经把B表的数据全部删除掉,但仍然删除不了A表的数据. 解决办法: 用禁用约束语句把A表的主键约束给禁用掉. 1.禁用约束:alter table 表名 disable constraint 主键 CASCADE 2.删除A表的数据 3.启用约束:alter ta…
我是处于工作中没用过oracle的状态,这不,记录下这个小小的问题.哈哈. 表是公司的平台组定义的.前几天为了测试程序,想删掉一些记录,然后使用delete语句,出现这个东东:oracle ORA-02292: 违反完整约束条件 (TEST.FK_H3K23R74VBBA62WXJB512P0PB) - 已找到子记录出现原因是这个表的某个column被当成了别的表的外键,真的是尴尬,说实话,工作以来,没遇到有公司用外键来维护表关系的. 先使用sql语句查出到底是哪一个表“约束”了"FK_H3K2…