违反约束条件未找到父项关键字
违反约束条件未找到父项关键字
欧阳飘 发表于10个月前
违反约束条件未找到父项关键字
  • 发表于 10个月前
  • 阅读 23
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: 我们在开发的过程中经常会出现这个错误,所以今天把我个人的经验与大家共享

表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
博文 36
码字总数 14049
×
欧阳飘
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: