首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带外键的AutoIncrement

带外键的AutoIncrement
EN

Stack Overflow用户
提问于 2013-07-31 03:05:57
回答 1查看 8.3K关注 0票数 0

我在quizId中有两个表,测试是主键,我已经把它设置为auto_increment,.I,有另一个表quizQuestions,在这个表quizQuestions中,我想要quizID of quiz表作为主键。以下是以下问题:

代码语言:javascript
复制
    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)
    )

NOw我想问这是我在quizQuestions中的第一行正确,我应该在quizQuestions表中指定quizId为AUTO_INCREMENT还是因为quizId是quiz表的主键吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-31 04:39:30

quizId不应该是auto_increment,在这种情况下,它不会编译,因为它不是主键。正如注释所指出的,由于您正在创建一对多的关系,您应该使quizId外键和questionId自动增量主键(就像您所做的那样)。

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17960897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档