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