当我执行以下查询时,它会抛出错误,
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)
答案 0 :(得分:2)
看一下这篇文章:13.6.4.4. FOREIGN KEY Constraints并搜索“150”。它在这里说:
如果你重新创建一个表 掉线了,它必须有一个定义 符合外键 引用它的约束。它必须 拥有正确的列名称和类型, 它必须有索引 如前所述,引用的密钥。如果 这些都不满意,MySQL返回 错误号1005并指错误 150错误信息。
如果MySQL报告错误号1005 来自CREATE TABLE语句,以及 错误消息是指错误150, 表创建失败,因为a 外键约束不是 正确形成。同样,如果一个 ALTER TABLE失败,它引用 错误150,表示外键 定义会错误地形成 对于改变的桌子。您可以使用 SHOW ENGINE INNODB STATUS显示一个 最详细的解释 最近InnoDB中的外键错误了 服务器