文档章节

违反约束条件未找到父项关键字

欧阳飘
 欧阳飘
发布于 2017/02/25 22:19
字数 410
阅读 27
收藏 0

表A中有个字段是外键,关联了表B中的某字段,再往表A插入数据时,会出现这种情况

可能原因有如下几种情况:

插入的数据 如果某个字段是外键 那么该值要么为空 要么在主键表中 有对应的主键值 否则 就不满足参照完整性约束
所以你肯定插入了 不存在的主键值 所以产生了这个错误

创建A表

create table  A( a_id varchar2(32) primary key , name varchar2(50));

创建B表

create table B( b_id varchar2(32) primary key , name varchar2(50), my_id varchar2(32) ,

constraint fk foreign key(my_id) references A(a_id) );

我们可以看出B表中的my_id字段是外键并且参考了A表中的 a_id;

insert into A values("1", "软件");

insert into B values("1","黄勇","1");

此时B表中添加数据时,由于A表中有a_id=1 , 所以B表中插入数据是正常的, 如果B表中插入A表中没有的主键a_id 列入: insert into B values("1","黄勇","2");

由于a表中 a_id="2" 就不存在;那么此时 添加这条数据就会出现违反约束条件未找到父项关键字

这个错误;

② B中的外键字段和A中的被外键关联字段数据类型和长度不一致。特别是数据长度,必须要一致。 否则也会出现 违反约束条件未找到父项关键字

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
欧阳飘
粉丝 0
博文 40
码字总数 15571
作品 0
乌鲁木齐
程序员
NSGA2代码分析——dominance.c

该源文件中包含一个函数int check_dominance (individual *a, individual *b), 主要功能是比较两个个体的支配关系,该函数有三个返回值:0——两个体不可比较支配关系;1——a个体支配b;-...

长平狐
2012/09/20
115
0
sqlldr数据插入 vs 数据保存

直接路径加载与常规路径加载的比较 保存数据的方法 常规路径加载使用 SQL 处理和数据库 COMMIT 操作来保存数据。插入记录数组后会执行 COMMIT 操作。每次数据加载可能涉及多个事务处理。 直接...

William
2013/02/05
0
0
看图轻松理解数据结构与算法系列(B+树)

前言 推出一个新系列,《看图轻松理解数据结构和算法》,主要使用图片来描述常见的数据结构和算法,轻松阅读并理解掌握。本系列包括各种堆、各种队列、各种列表、各种树、各种图、各种排序等...

超人汪小建
09/06
0
0
维护数据完整性

1、数据完整性规则:域完整性(Domain 栏位列)、实体完整性(Entity 实体行)、参照完整性(Reference) 数据完整性三种方式:a.使用应用代码;b.触发器trigger通过一段代码(过程)满足某个...

spider1983
2014/04/17
0
0
MySQL 项目移植Oracle

最近公司公司项目为支持oralce数据库,我们对项目进行移植,项目中使用 MyBatis需要手工对 MyBatis sql xml文件进行修改,修改过程中遇到不少问题,记录在此方便后续查看。 数据类型错误 OR...

皮蛋猫
2015/04/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

根据进程名称杀死进程

ps -ef | grep keyword | grep -v grep | awk '{print $2}' | xargs kill -9 逐个分析: 1, ps -ef | grep keyword: 查出进程名含有 keyword 的所有进程; 2, grep -v grep: 从这些结果里面,把......

vinci321
21分钟前
0
0
nginx的简单使用:负载均衡

nginx:反向代理的服务器;用户发送请求到nginx,nginx把请求发送给真正的服务器,等待服务器处理完数据并返回,再把数据发送给用户。 nginx作为一个反向代理服务器,能缓存我们项目的静态文...

osliang
37分钟前
2
0
网站title标题被改并被百度网址安全中心提醒的解决办法

国庆假日期间我们Sine安全接到众多网站站长求助网站标题被改导致在百度搜索中百度安全中心提醒被拦截,导致网站正常用户无法浏览网站被跳转到一些菠菜du博网站,而且很明显的一个特征就是在百...

网站安全
39分钟前
1
0
JDK版本与major.minor version的对照关系

其实,只需要记住jdk6对于major.minor version 50即可,其他版本自行计算即可。 ---------------------

码代码的小司机
41分钟前
1
0
C++基础教程面向对象学习笔记及心得感悟[图]

C++基础教程面向对象学习笔记及心得感悟[图] 使用友元函数重载算术运算符: C ++中一些最常用的运算符是算术运算符 - 即加号运算符(+),减运算符( - ),乘法运算符(*)和除法运算符(/...

原创小博客
49分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部