我正在尝试为一些兼容性信息添加几个表,这些信息是我添加到飞轮站点的,当我尝试生成表时,我得到了"Error in query (1215) Cannot add foreign key constraint“。它足够模糊,让我不知道为什么。据我所知,根据我的研究,我的语法是正确的,并且我作为外键添加的表/列组合确实存在。我对mySQL和飞轮这两个平台都比较陌生,所以它可能是非常简单的东西,我只是对此一无所知,如果是这样的话,我道歉
CREATE TABLE `products` (
`productsID` INT,
`productName` VARCHAR(45) NOT NULL,
`ios9` DOUBLE NULL,
`ios10` DOUBLE NULL,
`ios11` DOUBLE NULL,
`ios12` DOUBLE NULL,
`Notes` VARCHAR(45) NULL,
`Android Compatible` BINARY NULL,
`Web App Screen size` VARCHAR(45) NULL,
`Supported Browsers` VARCHAR(45) NULL,
`Web App Minimum Resolution` VARCHAR(45) NULL,
`Web App Aspect Ratio` VARCHAR(45) NULL,
PRIMARY KEY (`productsID`),
UNIQUE INDEX `ProductsID_UNIQUE` (`productsID` ASC),
INDEX `compatibilityID_idx` (
`ios9` ASC,
`ios10` ASC,
`ios11` ASC,
`ios12` ASC
),
FOREIGN KEY (`ios9`, `ios10`, `ios11`, `ios12`) REFERENCES `compatibilityValues` (
`compatibilityId`,
`compatibilityId`,
`compatibilityId`,
`compatibilityId`
) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE = InnoDB发布于 2019-02-08 04:40:37
一个朋友帮我解决了这个问题!
事实证明,mySQL在默认情况下试图一次完成所有的FK语句(我使用了可视化设计器),而flywheel并不喜欢这样。
像这样分解FK可以让它工作起来:
FOREIGN KEY (`ios9`) REFERENCES `compatibilityValues` (
`compatibilityId` ) ,
FOREIGN KEY (`ios10`) REFERENCES `compatibilityValues` (
`compatibilityId` ) ,
FOREIGN KEY (`ios11`) REFERENCES `compatibilityValues` (
`compatibilityId` ) ,
FOREIGN KEY (`ios12`) REFERENCES `compatibilityValues` (
`compatibilityId` ) https://stackoverflow.com/questions/54579224
复制相似问题