2014-10-30 179 views
0

我收到以下错误:无法添加外键约束(1215) 我正在使用MySQL工作台导出工具“Forward Engineer”来获取代码。无法添加外键约束1215

这是我的代码:

SET @[email protected]@UNIQUE_CHECKS, UNIQUE_CHECKS=0; 
SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; 
SET @[email protected]@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES'; 

CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ; 
USE `mydb` ; 

CREATE TABLE IF NOT EXISTS `mydb`.`serie` (
    `serieid` INT NOT NULL, 
    `name` VARCHAR(30) NOT NULL, 
    PRIMARY KEY (`serieid`)) 
ENGINE = InnoDB; 

CREATE TABLE IF NOT EXISTS `mydb`.`season` (
    `serieid` INT NOT NULL, 
    `seasonid` INT NOT NULL, 
    `name` VARCHAR(45) NOT NULL, 
    `description` TEXT NULL, 
    PRIMARY KEY (`serieid`, `seasonid`), 
    CONSTRAINT `fk_season_serie` 
    FOREIGN KEY (`serieid`) 
    REFERENCES `mydb`.`serie` (`serieid`) 
    ON DELETE NO ACTION 
    ON UPDATE NO ACTION) 
ENGINE = InnoDB; 

CREATE TABLE IF NOT EXISTS `mydb`.`episode` (
    `serieid` INT NOT NULL, 
    `seasonid` INT NOT NULL, 
    `episodeid` INT NOT NULL, 
    `title` VARCHAR(100) NOT NULL, 
    `description` TEXT NULL, 
    PRIMARY KEY (`serieid`, `seasonid`, `episodeid`), 
    INDEX `fk_episode_season1_idx` (`seasonid` ASC), 
    CONSTRAINT `fk_episode_serie1` 
    FOREIGN KEY (`serieid`) 
    REFERENCES `mydb`.`serie` (`serieid`) 
    ON DELETE NO ACTION 
    ON UPDATE NO ACTION, 
    CONSTRAINT `fk_episode_season1` 
    FOREIGN KEY (`seasonid`) 
    REFERENCES `mydb`.`season` (`seasonid`) 
    ON DELETE NO ACTION 
    ON UPDATE NO ACTION) 
ENGINE = InnoDB; 

SET [email protected]_SQL_MODE; 
SET [email protected]_FOREIGN_KEY_CHECKS; 
SET [email protected]_UNIQUE_CHECKS; 

我不知道是什么问题,一切似乎没什么问题。任何帮助? 使用MySQL Workbench创建。

感谢

+0

-1'mysql'和'sql-server'。 – 2014-10-30 22:38:02

+0

@ ta.speot.is,我修复了标签。 – 2014-10-30 23:05:19

回答

1
CREATE TABLE IF NOT EXISTS `mydb`.`episode` (
. . . 
FOREIGN KEY (`seasonid`) 
REFERENCES `mydb`.`season` (`seasonid`) 

这个外键被引用的列不在season表的键最左边的列。

+0

谢谢,这样一个愚蠢的错误:/ – Patrick2607 2014-10-30 22:37:26

相关问题