题
当我执行以下查询它引发错误,
alter table `ttis`.`users`
add constraint `FK_Role_ID` FOREIGN KEY (`ROLE_ID`) REFERENCES `roles` (`ROLE_ID`)
错误:
Error Code : 1005
Can't create table 'ttis.#sql-9c_8a' (errno: 150)
解决方案
有一个看看这篇文章: 13.6.4.4。外键约束并搜索“150”。这里说的:
如果你重新创建一个表,这是 掉线,它必须有一个定义 符合外键 约束引用它。它必须 有正确的列名和类型, 它必须有索引 引用键,如前所述。如果 这些都不满意,MySQL的回报 错误编号1005,是指错误 150中的错误信息。
如果MySQL的报告错误数1005 从CREATE TABLE语句,和 错误消息是指错误150, 表创建失败,因为 外键约束不 正确地形成。同样,如果 ALTER TABLE失败,它是指 错误150,这意味着外键 定义将被不正确地形成 对于变更的表。您可以使用 SHOW ENGINE INNODB STATUS来显示 最详细的解释 在最近的InnoDB外键错误 服务器
不隶属于 StackOverflow