Mysql SQL错误:#1005 Errono 150

情况:在创建外键的时候可能会遇到这种情况:

Mysql SQL错误:#1005 Errono 150_第1张图片

原因:

SQL #1005 Errono150出错原因
创建外键和索引的字段不匹配(有可能是长度、有可能是类型、有可能是字符集),可以检查一下要创建的外键和索引有没有区别(以Mysql基础练习中的Departments和Employees表为例)
此配置为Department表的主键
Mysql SQL错误:#1005 Errono 150_第2张图片
此配置为表的外键
Mysql SQL错误:#1005 Errono 150_第3张图片

解决方法:

可以发现两个表中的EmployeeID字符集不匹配,应该统一字符集
更改整个数据库的字符集:

ALTER database yggl CHARACTER SET gbk

更改该表的字符集:

ALTER TABLE Employees DEFAULT CHARSET gbk

更改区别后再创建外键即可
建立约束成功

你可能感兴趣的:(SQL练习)