无法使用外键创建表

时间:2013-05-29 03:15:51

标签: mysql database

尝试运行此查询时,我一直收到“错误150”:

CREATE TABLE `NewTable` (
`ID`  int NULL AUTO_INCREMENT ,
`Entry_ID`  int NULL ,
`Content`  varchar(255) NULL ,
`Type`  varchar(255) NULL ,
PRIMARY KEY (`ID`),
CONSTRAINT `Entry_ID` FOREIGN KEY (`Entry_ID`) REFERENCES `ENTRIES` (`EID`),
CONSTRAINT `Content` FOREIGN KEY (`Content`) REFERENCES `MEDIA` (`CONTENT`),
CONSTRAINT `Type` FOREIGN KEY (`Type`) REFERENCES `MEDIA` (`CONTENT_TYPE`)
)
;

感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

由于以下原因导致此问题,如

1)它必须具有正确的列名和类型。

2)如前所述,它必须在引用的键上有索引。

如果不满足,则MySQL返回错误号1005并在错误消息中引用错误150.

  

两个表都必须是InnoDB表,它们不能是TEMPORARY   表。

请参阅innodb-foreign-key-constraints