0

我正在尝试将外键插入到我的数据库中,但不知何故我无法让这个工作,而我的其他外键很好。我已经搜索了答案,并检查了我的类型,但仍然找不到问题。(使用 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) 

有谁知道我做错了什么?搜索了一半的网络,但找不到合适的答案。

提前致谢!

吉尔特

4

1 回答 1

0

一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。在您的情况下,“fabriek”不是主键。

于 2013-09-18T12:13:32.470 回答