gpt4 book ai didi

mysql - SQL不允许我添加外键?

转载 作者:行者123 更新时间:2023-11-29 10:43:56 27 4
gpt4 key购买 nike

我正在构建一个问答网站,为了将用户帐户链接到问题,我希望登录表中的用户名成为问题表的外键,因此当用户提出问题时必须将其链接到他或她的用户名。我可以没有 varchar 数据类型的外键吗?或者外键必须只是另一个表的主键?我收到的错误是“表中不存在键列“用户名””。我做错了什么?

create table login (user_id int NOT NULL AUTO_INCREMENT, username 
varchar (100), password varchar (100), primary key (user_id));

create table questions (q_id int not null auto_increment, question
varchar (100), primary key (q_id), foreign key (username) references
login (username));

最佳答案

我想这就是你想要的:

create table login (username 
varchar (100), password varchar (100), primary key (username));

create table questions (q_id int not null auto_increment, question
varchar (100), primary key (q_id), username varchar(100),foreign key (username) references
login (username));

create table answers (a_id int not null auto_increment, answer varchar (100), primary key (a_id), q_id int, foreign key (q_id) references questions (q_id));

我在这里测试了它:http://sqlfiddle.com/#!9/61ec2a

您需要:

1) Make Login.UserName unique
2) Declare UserName in the questions table

关于mysql - SQL不允许我添加外键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44987560/

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