首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL查询中的错误

MySQL查询中的错误
EN

Stack Overflow用户
提问于 2013-10-31 14:56:38
回答 4查看 100关注 0票数 1
代码语言:javascript
复制
CREATE TABLE questions
(
qid INT AUTO_INCREMENT,
submitterId VARCHAR(8) NOT NULL,
approverId VARCHAR(8) NOT NULL,
questionText TEXT NOT NULL UNIQUE,
answerA VARCHAR(100) NOT NULL,
answerB VARCHAR(100) NOT NULL,
answerC VARCHAR(100) NOT NULL,
answerD VARCHAR(100) NOT NULL,
difficulty INT NOT NULL,
category INT NOT NULL,
correctAnswer INT NOT NULL,
selectionProb INT NOT NULL,
status INT NOT NULL
);

上面的SQL命令在MySQL中有什么问题?我得到了

错误1064 (42000):您的SQL语法出现了错误;请检查与MySQL服务器版本相对应的手册,以获得正确的语法,以便在第1行的中使用接近“表问题”( qid INT AUTO_INCREMENT,submitterId VARCHAR(8) NOT NULL,appr)的正确语法。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-10-31 15:04:20

  1. 只能有一个auto列,必须将其定义为键。
  2. 键规范中的BLOB/TEXT列不能在没有键长度的情况下使用。

因此,正确的SQL应为:

代码语言:javascript
复制
CREATE TABLE questions (
    qid INT AUTO_INCREMENT PRIMARY KEY,
    submitterId VARCHAR(8) NOT NULL,
    approverId VARCHAR(8) NOT NULL,
    questionText TEXT NOT NULL,
    answerA VARCHAR(100) NOT NULL,
    answerB VARCHAR(100) NOT NULL,
    answerC VARCHAR(100) NOT NULL,
    answerD VARCHAR(100) NOT NULL,
    difficulty INT NOT NULL,
    category INT NOT NULL,
    correctAnswer INT NOT NULL,
    selectionProb INT NOT NULL,
    status INT NOT NULL
);
票数 2
EN

Stack Overflow用户

发布于 2013-10-31 14:58:57

idtentity列必须声明为主列或唯一列。

票数 0
EN

Stack Overflow用户

发布于 2013-10-31 15:00:50

在查询结束时添加PRIMARY KEY (qid)

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

https://stackoverflow.com/questions/19709834

复制
相关文章

相似问题

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