【问题标题】:Cannot create table with foreign keys [duplicate]无法使用外键创建表[重复]
【发布时间】:2013-05-24 04:23:03
【问题描述】:

尝试运行此查询时,我不断收到“错误 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`)
)
;

如果有任何帮助,我将不胜感激,谢谢!

【问题讨论】:

标签: mysql database


【解决方案1】:

这个问题是由于以下原因引起的

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

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

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

两个表都必须是 InnoDB 表,并且不能是 TEMPORARY 表格。

innodb-foreign-key-constraints

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    相关资源
    最近更新 更多