ORA-02291: 违反完整约束条件 - 未找到父项关键字问题解决
ORA-02291: 违反完整约束条件 - 未找到父项关键字问题解决
情况场景:
表A中有个字段是外键,关联了表B中的某字段,再往表A插入数据时,会出现这种情况。
可能原因:
1.
插入的数据 如果某个字段是外键 那么该值要么为空 要么在主键表中 有对应的主键值 否则 就不满足参照完整性约束 所以你肯定插入了 不存在的主键值 所以产生了这个错误

创建B表

向A表插入数据

向B表插入数据

向B 表中插入数据,B表中某个字段(外键)在A表(主表)中没有值:2没在主表中

向B 表中插入数据,B表中某个字段(外键),值为空的情况;

2.产生了外键环,就是B表中被外键关联的字段又关联了C表中的字段,而C中相应字段却没有数据,则产生这种情况。
3.如果不是上两种情况,那么就是一个非常容易疏忽的问题:A中的外键字段和B中的被外键关联字段数据类型和长度不一致。特别是数据长度,必须要一致。
第三种情况是最容易忽略的,希望大家注意。
ORA-02291: 违反完整约束条件 - 未找到父项关键字问题解决的更多相关文章
- ORA-02291: 违反完整约束条件 - 未找到父项关键字
由于大意,在设置数据库表时将外键字段的类型与外键表的主键字段类型不一致,造成此错误. 我的情况是: 1.将一个为number(10)的外键设置成了number(19) 2.将外键字段对应的主键表设置成 ...
- ### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: ORA-02291: 违反完整约束条件 (SSM.SYS_C0011830) - 未找到父项关键字
在向Oracle数据库里面插入数据时发生了以下错误 ; ]; ORA-: 违反完整约束条件 (SSM.SYS_C0011830) - 未找到父项关键字 ; nested exception : 违反完 ...
- Oracle添加记录的时候报错:违反完整性约束,未找到父项关键字
今天需要向一个没有接触过的一个Oracle数据库中添加一条记录,执行报错: 分析: 报错的根本原因:未找到父项关键字的原因是因为你在保存对象的时候缺失关联对象. 问题的解决思路:先保存关联对象后再保存 ...
- ORA-02298: 无法验证 (约束) - 未找到父项关键字 解决办法
--在用PL/SQL导入表数据的时候报错 ORA-02298: 无法验证 (PNET.POST_CLOB_FK) - 未找到父项关键字 --发现是启用外键约束时报的错alter table DM_VO ...
- ORA-02298: 无法验证 (PNET.POST_CLOB_FK) - 未找到父项关键字
在运行以下语句的时候,报错如下: ALTER TABLE PN_POST ADD CONSTRAINT POST_CLOB_FK FOREIGN KEY (POST_BODY_ID) REFERENC ...
- 违反完整约束条件 (XXX) - 未找到父项关键字
这个主要是A表的一个字段主键做了B表的外键,往B表插入数据就会出现这种情况 今天其他总结: detached entity passed to persist 错误的引起的原因和解决办法 这个主要是因 ...
- 设置主外键时 ORA-02298: 无法验证 - 未找到父项关键字 --NOVALIDATE;
主要原因是: 在添加CONSTRAINT的时候,默认是需要VALIDATE表中的已有数据的. 你要插入的表A里,有外键连接到另一个表B的主键,你在表A的外键列插入的值,在表B的主键列找不到就不能插入. ...
- oracle违反完整约束条件
oracle违反完整约束条件 Oracle ORA-02292: 违反完整约束条件 (UNITELE.TA_SUB_REFERENCE3) - 已找到子记录 A表被B表引用,删除A表的时候提示ORA- ...
- oracle ORA-02292: 违反完整约束条件
我是处于工作中没用过oracle的状态,这不,记录下这个小小的问题.哈哈. 表是公司的平台组定义的.前几天为了测试程序,想删掉一些记录,然后使用delete语句,出现这个东东:oracle ORA-0 ...
随机推荐
- cpp编码规范要求
1.所有头文件使用#ifndef #define #endif来防止文件被多重包含,命名格式当是: <PROJECT>_<PATH>_<FILE>_H_ 2.只有当 ...
- deep_learning_Function_ Matplotlib 3D 绘图函数 plot_surface 的 rstride 和 cstride 参数
今晚开始接触 Matplotlib 的 3D 绘图函数 plot_surface,真的非常强大,图片质量可以达到出版级别,而且 3D 图像可以旋转 ,可以从不同角度来看某个 3D 立体图,但是我发现各 ...
- zabbix 3.2.2 agent端(源码包)安装部署 (二)
一.zabbix agent 端安装部署 1.创建zabbix用户和组 # groupadd zabbix # useradd -g zabbix zabbix -s /sbin/nologin 2. ...
- ad gebber
双层 四层
- Linux系统组成和获取命令帮助4
Linux文件系统: 1.文件名名称严格区分字符大小写 2.文件可以使用除/以外任意字符 3.文件名长度不能超过255字符 4.以.开头的文件为 ...
- 牛客小白月赛12 D 月月给华华出题 (欧拉函数,数论,线筛)
链接:https://ac.nowcoder.com/acm/contest/392/D 来源:牛客网 月月给华华出题 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 131072K, ...
- 网络协议相关面试问题-TCP与IP网络模型
互联网应用的实现主要是通过分层来实现的,每一层有自己相应的功能,上层依赖于下层,具体层次如下图: 下面具体一层层来了解: 物理层 / 实体层: 也就是将电脑通过物理的手段连接起来,其实也就是01电子信 ...
- matlab 基础知识1
一.数组和矩阵注意 逗号 和 分号 的区别 向量生成方式: 传统方式:行向量 :空格,逗号列向量 :分号,回车 函数方式: x = linspace(a,b,n) 等分关系,从a 到 b, n等分.n ...
- js排序--一道js数据结构题
给一个数组: [{ GroupMark: "", GroupName: "hao", SendTime: '123', SendContent: "1 ...
- BZOJ 3270: 博物馆 概率与期望+高斯消元
和游走挺像的,都是将概率转成期望出现的次数,然后拿高斯消元来解. #include <bits/stdc++.h> #define N 23 #define setIO(s) freope ...