gpt4 book ai didi

mysql - 使用外键自动递增

转载 作者:行者123 更新时间:2023-11-29 08:25:50 24 4
gpt4 key购买 nike

我有两个表 quiz,quizId 是主键。我已将其设置为 auto_increment 。我有另一个表 quizQuestions,其中我希望测验表的 quizID 作为外键。这些是查询:

    CREATE TABLE IF NOT EXISTS quiz (
quizId int(11) NOT NULL AUTO_INCREMENT,
subject varchar(30) DEFAULT NULL,
examDate date DEFAULT NULL,
PRIMARY KEY (quizId)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;


CREATE TABLE IF NOT EXISTS quizQuestions
(
quizId int(11) NOT NULL AUTO_INCREMENT,
questionId int(11) NOT NULL AUTO_INCREMENT,
question varchar(30) DEFAULT NULL,
option1 varchar(30) DEFAULT NULL,
option2 varchar(30) DEFAULT NULL,
option3 varchar(30) DEFAULT NULL,
option4 varchar(30) DEFAULT NULL,
answer varchar(30) DEFAULT NULL,
PRIMARY KEY (questionId),
Foreign Key (quizId) references quiz(quizId)
)

现在我想问这是我在 quizQuestions 中正确的第一行,我应该在 quizQuestions 表中将 quizId 指定为 AUTO_INCRMENT 吗?因为 quizId 是测验表的主键?

最佳答案

quizId 不应该是 auto_increment,在这种情况下,它不会编译,因为它不是主键。正如所评论的,由于您正在创建一对多关系,因此您应该将 quizId 外键和 QuestionId 自动递增主键(就像您所做的那样)。

请注意,如果您将 quizId 设置为主要和外部,您也可以使其自动递增,但这不是您想要的......

关于mysql - 使用外键自动递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17960897/

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