超详细!Mysql错误1452 | 您所在的位置:网站首页 › sql错误1452 › 超详细!Mysql错误1452 |
超详细!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)译文: 原因一: 添加的外键列与另一个表的唯一索引列(一般是主键)的数据类型不同 原因二: 要添加外键的表类型与另一个表的存储引擎是不是都为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 原因四: 如果两个表的相关列已经有数据了,如果但是数据不匹配的话,要把不匹配的数据删除后才能添加外键成功 解决办法:把不匹配的数据删除 想要实时关注更多干货好文,扫描下图关注: 上一篇:使用PostMan上传文件,有图易懂 下一篇:毕设,私活开源分布式 cloud,boot利器 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |