超详细!Mysql错误1452 - Cannot add or update a child row: a foreign key constraint fails 原因及解决方法
2023-03-14 22:43:52 时间
Caused by: com.mysql.jdbc.exceptions.jdbc4. MySQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (`数据库`.`表名`, CONSTRAINT `FK_Reference_13` FOREIGN KEY (`user_id`) REFERENCES `user_info` (`id`)) at sun.reflect.GeneratedConstructorAccessor438.newInstance(Unknown Source)
译文:
报错的原因大概分为三种:
原因一:
添加的外键列与另一个表的唯一索引列(一般是主键)的数据类型不同
原因二:
要添加外键的表类型与另一个表的存储引擎是不是都为innodb引擎
#查看表引擎
方法1:
show create table 表名;
方法2:
show table status from 数据库 where name=‘表名’;
方法3:
use information_schema; select table_catalog,table_schema,table_name,engine from tables where table_schema=‘数据库名’ and table_name=‘表名’;
原因三:
设置的外键与另一个表中的唯一索引列(一般是主键)中的值不匹配
#解决办法:删除要成为外键的列,再次创建并默认为NULL
原因四:
如果两个表的相关列已经有数据了,如果但是数据不匹配的话,要把不匹配的数据删除后才能添加外键成功
解决办法:把不匹配的数据删除
相关文章
- 实现资源库还没找到称手的家伙
- 数据可视化之美:经典案例与实践解析
- 22个免费的数据可视化和分析工具推荐
- 快速入门 | 一篇文章带你掌握数据可视化方法
- 20个数据可视化工具点评
- 造健康医疗大数据国家集团军,强强联合、共建共赢
- 中国不允许信息数据随意离境,可能会影响不少跨国公司
- 如何将枯燥的大数据呈现为可视化的图和动画?
- 警惕!大数据可视化的十大误区
- 我不告诉你,我们是这样“玩”数据的!
- 【干货】怎样用数据分析找对象
- 大数据如何改变世界?不尽数据滚滚来
- 支付宝发布数据可视化规范,可视化分析有套路!
- “大数据”是重塑招聘未来的首要趋势
- 韩亦舜:客户数据隐私问题初探(附PPT)
- 大数据在美国大选中究竟干了什么?
- 特朗普获胜,大数据技术失利?并非如此
- 你必备的39个大数据可视化工具
- 大数据与云计算和物联网之间的关系
- 【友盟+】全域大数据报告:百度搜索仍一家独大