【发布时间】:2015-12-03 07:10:25
【问题描述】:
我正在尝试通过 mysql 工作台创建一个表。我收到以下错误:-
错误1215:无法添加外键约束SQL语句:
CREATE TABLE `propman`.`imageadassociation` (
`ImageId` INT NOT NULL,
`AdId` INT NOT NULL,
INDEX `imageId_adassociation_idx` (`ImageId` ASC),
INDEX `adId_adassociation_idx` (`AdId` ASC),
CONSTRAINT `imageId_adassociation`
FOREIGN KEY (`ImageId`)
REFERENCES `propman`.`imagelocation` (`ImageId`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `adId_adassociation`
FOREIGN KEY (`AdId`)
REFERENCES `propman`.`advertisement` (`AdId`)
ON DELETE NO ACTION
ON UPDATE NO ACTION);
imageLocation表创建状态语句如下:-
CREATE TABLE `imagelocation` (
`ImageId` int(11) NOT NULL,
`ImageLocationcol` varchar(200) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
广告表创建语句如下:-
CREATE TABLE `advertisement` (
`AdId` int(10) NOT NULL AUTO_INCREMENT,
`PropertyId` int(10) NOT NULL,
`AdTemplateId` int(10) NOT NULL,
`ValidFrom` date DEFAULT NULL,
`ValidTo` date DEFAULT NULL,
PRIMARY KEY (`AdId`),
KEY `AdTemplateId` (`AdTemplateId`),
CONSTRAINT `advertisement_ibfk_2` FOREIGN KEY (`AdTemplateId`) REFERENCES `adtemplate` (`AdTemplateId`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
【问题讨论】:
-
我们需要查看其他 2 个表
-
你也有两张桌子吗? sqlfiddle.com/#!9/db77b/1/0。规则是你引用的对象必须存在。
-
我有两张桌子。我已经编辑了这个问题。给出了两个表的创建语句。
-
@SouravMukherjee 关键是它们的顺序。显示整个脚本你是如何执行它的。
-
@lad2025 我不明白你的意思。
标签: mysql sql mysql-workbench