我正在尝试将外键插入到我的数据库中,但不知怎的,当我的其他外键正常时,我无法让这个外键工作。我已经搜索了答案,并检查了我的类型,但仍然找不到问题。 (使用mysql工作台)
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)
有人知道我做错了什么吗?搜索了半个网络,但找不到合适的答案。
提前致谢!
吉尔特
最佳答案
一个表中的外键指向另一表中的主键。在您的情况下,“fabriek”不是主键。
关于mysql添加外键错误1215,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18867751/