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中图表的正向设计脚本。
同样设置foreign_key_checks = 0已经在我的sql脚本的顶部。
答案 0 :(得分:0)
设置foreign_key_checks = 0写你的sql文件顶部
设置foreign_key_checks = 1写入sql文件的底部
我认为它可以帮助你