1
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
);

MySQL で上記の SQL コマンドの何が問題になっていますか? 私は得ています

エラー 1064 (42000): SQL 構文にエラーがあります。使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを参照してください。

4

4 に答える 4

2
  1. 自動列は 1 つしか存在できず、キーとして定義する必要があります。
  2. キー指定の BLOB/TEXT カラムは、キーの長さがないと使用できません。

したがって、正しい SQL DDL は次のようになります。

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
);
于 2013-10-31T15:04:20.523 に答える
0

idtentity-column は、PRIMARY または UNIQUE として宣言する必要があります

于 2013-10-31T14:58:57.507 に答える