MySQL创建外键出现 ERROR 1005: Can't create table (errno: 150)解决办法

时间:2022-10-20 21:12:28

创建外键出现上述150错误,多方排查。

有3个原因

1、类型不一样不匹配

2、找不到引用的列(非sql手动设计表添加约束外键应该不会出现此问题)

3、2张表的字符编码不一致或者存储引擎不一样,比如一张是MyISAM,一张是InnoDB


我出现的是第三种情况,存储引擎不一样,都改成InnoDB就可以了,不要都改成MyISAM,因为MyISAM不支持外键,不支持事务