当我执行以下查询它引发错误,

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外键错误   服务器

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top