MySQL Workbench不允许我创建外键

时间:2017-04-17 11:32:22

标签: mysql

我试图创建一些表,其中一个表应该有外键引用其他表,但MySQL Workbench一直给我"错误代码:1215。无法添加外键约束&#34 ;。如果我在创建表时尝试创建它们,并且我只是创建表然后尝试通过ALTER添加FK,则会发生这种情况。我无法弄清楚问题所在。我曾经尝试使用ENGINE = InnoDB,我在网上看到了一些人的建议。是的,表kommune和person已经创建。

*originalStateVar*

1 个答案:

答案 0 :(得分:1)

检查以下几行:

FOREIGN KEY (Postnr) REFERENCES person(Postnr),
FOREIGN KEY (Poststed) REFERENCES person(Poststed),

但是在你的表结构中:

CREATE TABLE person (
PersonID varchar(4) NOT NULL,
Fornavn varchar(45) NOT NULL,
Etternavn varchar(45) NOT NULL,
Postnr varchar(4) NOT NULL,
Poststed varchar(45) NOT NULL,
PRIMARY KEY (PersonID));

Postnr, Poststed既不是unique也不是primary key。要创建外键,基表中的引用列必须是索引列