mysql添加外键错误1215

时间:2013-09-18 08:51:10

标签: mysql foreign-keys constraints

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

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

提前致谢!

吉尔特

1 个答案:

答案 0 :(得分:0)

一个表中的FOREIGN KEY指向另一个表中的PRIMARY KEY。在你的情况下'fabriek'不是主键。