2013-05-29 31 views
-4

我不断收到创建表的“错误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`) 
) 
; 

我希望得到任何帮助,谢谢!

+0

MySQL错误代码150:错误地形成的外键约束 –

+0

INNODB:http://stackoverflow.com/questions/160233/what-does-mysql-error-1025-hy000- error-on-rename-of-foo-errorno-150-me#179501 –

+0

http://stackoverflow.com/questions/825362/mysql-error-150-foreign-keys – Nanda

回答

0

这个问题就像

1到以下原因造成因)它必须有正确的列名和类型。

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

如果这些不满足,MySQL将返回错误号1005并引用错误消息中的错误150。

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

innodb-foreign-key-constraints