超详细!Mysql错误1452 您所在的位置:网站首页 sql错误1452 超详细!Mysql错误1452

超详细!Mysql错误1452

#超详细!Mysql错误1452| 来源: 网络整理| 查看: 265

超详细!Mysql错误1452 - Cannot add or update a child row: a foreign key constraint fails 原因及解决方法 原创

一点唐城 2021-11-26 13:39:35 博主文章分类:一点唐城 | 数据库 ©著作权

文章标签 mysql 数据库 java python 数据分析 文章分类 云平台 云计算

©著作权归作者所有:来自51CTO博客作者一点唐城的原创作品,请联系作者获取转载授权,否则将追究法律责任

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)

译文:

超详细!Mysql错误1452 - Cannot add or update a child row: a foreign key constraint fails 原因及解决方法_数据分析

报错的原因大概分为三种:

原因一:

添加的外键列与另一个表的唯一索引列(一般是主键)的数据类型不同

原因二: 要添加外键的表类型与另一个表的存储引擎是不是都为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

原因四:

如果两个表的相关列已经有数据了,如果但是数据不匹配的话,要把不匹配的数据删除后才能添加外键成功

解决办法:把不匹配的数据删除

超详细!Mysql错误1452 - Cannot add or update a child row: a foreign key constraint fails 原因及解决方法_python_02

想要实时关注更多干货好文,扫描下图关注:

超详细!Mysql错误1452 - Cannot add or update a child row: a foreign key constraint fails 原因及解决方法_mysql_03

收藏 评论 分享 举报

上一篇:使用PostMan上传文件,有图易懂

下一篇:毕设,私活开源分布式 cloud,boot利器



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有