SQL Error 1215无法添加外键约束?

时间:2015-11-30 10:31:40

标签: mysql sql

enter image description here我正在为学校的一个项目建立一个数据库,我住在荷兰所以这个sql中的命名将是荷兰语,所以请原谅。

我遇到的问题是,我似乎无法创建外键,我无法弄清楚原因。

这是一块给我带来麻烦的sql,我正在使用MySQL。

Executing SQL script in server

错误:错误1215:无法添加外键约束

SQL代码:

    -- Table `Producten`.`Bestelregel`
    -- -----------------------------------------------------
    CREATE TABLE IF NOT EXISTS `Producten`.`Bestelregel` (
      `Bestelnr` INT NOT NULL COMMENT '',
      `Productnr` INT NOT NULL COMMENT '',
      `Aantal` INT NOT NULL COMMENT '',
      PRIMARY KEY (`Bestelnr`, `Productnr`)  COMMENT '',
      INDEX `Product_idx` (`Productnr` ASC)  COMMENT '',
      CONSTRAINT `Product`
        FOREIGN KEY (`Productnr`)
        REFERENCES `Producten`.`Product` (`nr`)
        ON DELETE NO ACTION
        ON UPDATE NO ACTION,
      CONSTRAINT `Bestelling`
        FOREIGN KEY (`Bestelnr`)
        REFERENCES `Producten`.`Bestelling` (`Nr`)
        ON DELETE NO ACTION
        ON UPDATE NO ACTION)
    ENGINE = InnoDB

我已经阅读了一些关于同样问题的其他问题,但我找不到任何对我有用的问题,有人建议我的主键和外键必须属于同一类型,这对于两个约束都是如此。

另外还有一点需要注意的是,这是mysql workbench中图表的正向设计脚本。

This is the diagram.

同样设置foreign_key_checks = 0已经在我的sql脚本的顶部。

1 个答案:

答案 0 :(得分:0)

设置foreign_key_checks = 0写你的sql文件顶部

设置foreign_key_checks = 1写入sql文件的底部

我认为它可以帮助你