MYSQL创建表时出现这个错误ERROR 1005 (HY000): Can't create table 'supermarket.shopping' (errno: 150

MYSQL创建表时出现这个错误ERROR 1005 (HY000): Can't create table 'supermarket.shopping' (errno: 150)怎么回事,图中外键的表都存在,但创建者这个表总是出现这种错,为什么创建不了?

Mysql创建表或外键约束时出现1005错误代码的解决方法

1.确保主从表的表类型 (即engine)都为InnoDB;如果不是,可在创建表时加上engine=InnoDB.
2.确保主表有主键或对应的索引;
3.确保从表外键字段与主表字段类型一致;
4.确保该外键名称之前未被使用,可通过SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE进行查看。若被使用,可以换成别的名称
温馨提示:答案为网友推荐,仅供参考
相似回答