我正在尝试将外键插入到我的数据库中,但是在我的其他外键很好的时候,我无法使用这个外键。我已经搜索了答案,我检查了我的类型,但仍然找不到问题。 (使用mysql workbench)
Table 1: klant
klantnaam VARCHAR(45) PK NN
fabriek VARCHAR(45) PK NN
machine VARCHAR(45) NN
Table 2: machine
machine VARCHAR(45) PK NN
fabriek VARCHAR(45) NN
现在我希望machine.fabriek成为外键(对于klant.fabriek)。
因此,在“外键”选项卡下,我添加了一个外键,如:
name: fk_fabriek
Reference Table: 'slalist' . 'klant'
Column: fabriek
Reference Column: fabriek
当我尝试应用此更改时,我收到此错误
1215: Cannot add foreign key constraint
SQL Statement:
CREATE TABLE `slalist`.`machine` (
`machine` VARCHAR(45) NOT NULL,
`fabriek` VARCHAR(45) NOT NULL,
PRIMARY KEY (`machine`),
INDEX `fk_fabriek_idx` (`fabriek` ASC),
CONSTRAINT `fk_fabriek`
FOREIGN KEY (`fabriek`)
REFERENCES `slalist`.`klant` (`fabriek`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
有谁知道我做错了什么?搜索了一半的网络,但找不到合适的答案。
提前致谢!
吉尔特
答案 0 :(得分:0)
一个表中的FOREIGN KEY指向另一个表中的PRIMARY KEY。在你的情况下'fabriek'不是主键。