liuwenliang的个人博客分享 http://blog.sciencenet.cn/u/liuwenliang

博文

[转载]超详细!Mysql错误1452 - Cannot add or update a child row: a foreig

已有 1589 次阅读 2022-10-26 09:23 |个人分类:数据库|系统分类:科研笔记|文章来源:转载

转自:https://blog.csdn.net/qq_41570658/article/details/118083180


译文:




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

原因一:


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


原因二:

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


原因四:


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


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



————————————————

版权声明:本文为CSDN博主「唐 城」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_41570658/article/details/118083180




https://blog.sciencenet.cn/blog-3409972-1360969.html

上一篇:[转载]MySQLworkbench如何生成EER图
下一篇:[转载]spss怎么做逐步回归分析 逐步回归分析spss结果解读
收藏 IP: 210.72.26.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-26 22:42

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部