gpt4 book ai didi

mysql - 无法添加外键约束mysql

转载 作者:搜寻专家 更新时间:2023-10-30 20:17:28 25 4
gpt4 key购买 nike

有谁知道为什么我在这个查询中总是收到这个错误。我很难过:

错误代码:1215。无法添加外键约束

我的代码:

CREATE TABLE countries (
id INT NOT NULL AUTO_INCREMENT,
cname VARCHAR(45) NOT NULL,
PRIMARY KEY (id)
) COMMENT='Country List';

CREATE TABLE members (
id INT NOT NULL AUTO_INCREMENT,
FirstName VARCHAR(50) NOT NULL,
LastName VARCHAR(50) NOT NULL,
Salt VARCHAR(45),
PRIMARY KEY (id),
FOREIGN KEY (Salt) REFERENCES countries(cname)
) COMMENT='stuff';

最佳答案

外键必须引用主键或唯一键。例如,您可以使 countries.cname 独一无二:

CREATE TABLE countries (
id INT NOT NULL AUTO_INCREMENT,
cname VARCHAR(45) NOT NULL,
PRIMARY KEY (id),
UNIQUE (cname) -- Here
) COMMENT='Country List';

或者,您可以删除 salt 列并通过 id 进行引用:

CREATE TABLE members (
id INT NOT NULL AUTO_INCREMENT,
FirstName VARCHAR(50) NOT NULL,
LastName VARCHAR(50) NOT NULL,
Salt_id INT, -- Here
PRIMARY KEY (id),
FOREIGN KEY (Salt_Id) REFERENCES countries(id) -- And here
) COMMENT='stuff';

关于mysql - 无法添加外键约束mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31013571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com