|||
转自: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
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-18 18:13
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社