mysql添加外键错误1215

标签 mysql foreign-keys constraints

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

相关文章:

mysql - 错误 1452 MySQL Load Infile(但正确的数据)

Django过滤为null的ForeignKey字段时

java - 如果 @Constraint(validated by = {}),则 Hibernate validator 验证约束

php - 如何将多个输入类型数字与相同的ID和名称相乘

MySQL存储过程循环控制

php - 等待 30 秒以允许对 PHP 和 MySQL 执行新操作?

sql - 如何将autoNumbersCode插入到另一个表中

java - 给定邻接规则和未排序数组,返回符合规则的数组

sql - 如何向文本字段添加长度约束

php - 查询MySQL上的多个表