MySQL 外键创建表失败 ERROR 1005 (HY000): Can't Create Table....(errno: 150)

时间:2022-01-02 00:26:02

 

在信息中有一组【LATEST FOREIGN KEY ERROR】会有最近错误的详细描述和解决办法。

Cannot find an index in the referenced table where the referenced columns appear as the first columns, or column types in the table and the referenced table do not match for constraint.

(译:不能在reference的表里找到包含reference字段的索引,或者是两个关联字段类型不匹配)

0、外键的定义,一个表的主键,是另一个表的非主键字段,如果是复合主键都要设成外键

1、确保主表有主键。

2、确保主从表数据引擎为InnoDB类型。

3、确定从表外键字段类型与主表一致。

4、建外键的表的那个列要加上index