报错Cannot add or update a child row: a foreign key constraint fails

当尝试在MySQL中添加外键时遇到1452错误,通常是由于外键字段对应的关联表中缺少相应的记录。解决方案包括检查关联表中是否存在对应字段及外键字段的数据是否有效。需要确保在添加外键的表中的数据在关联表中能找到匹配项,或者反之在关联表中添加缺失的数据,或者删除无效的外键数据。
摘要由CSDN通过智能技术生成

添加外键失败

可以先在mysql数据库中直接执行一遍添加外键的sql语句,应该会报错:
SQL Error:1452

一般来说,因为表设置了外键约束,而你试图插入一条外键字段所在表纪录不存在的一个值.就会报1452错。

举例:

假设我有两个表,分别是 CMP_PROBE 和 CMP_PROBE_GROUP。
我要执行以下语句增加外键(给CMP_PROBE 表增加外键):

ALTER TABLE CMP_PROBE ADD CONSTRAINT FK39pu7yy5c6k2xd9lka6wl2296 FOREIGN KEY (PROBE_GROUP_UUID) REFERENCES CMP_PROBE_GROUP (UUID)

这里是创建外键的时候就报 1452 错误,有两种情况:

1.检查你外键对应的表中(CMP_PROBE_GROUP表)是否有该字段;

需增加外键的表 CMP_PROBE
在这里插入图片描述
外键管理的表CMP_PROBE_GROUP 中必须有UUID 字段
在这里插入图片描述

解决方法:

在关联表中添加需要的字段。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值