创建表时出错#1064 mysql

时间:2014-06-16 20:43:42

标签: mysql sql database syntax-error mysql-error-1064

我试图找出在创建数据库时这个错误一直显示的原因。

  

1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以便在

附近使用正确的语法
                    'NUMBER(10)            not null,
email                varchar(50)           not null,' 
     

第4行

这是有错误的表:

create table students
(
    name                varchar(30)           not null,
    studentID           NUMBER(10)            not null,
    email               varchar(30)           not null,
    mobile              NUMBER(15)            not null,
    GPA                 DOUBLE                not null,
    courseID            varchar(6)            not null,
    membershipType      varchar               
    groupID             NUMBER
    finalMark           number
    Check (courseID='SWE496' OR courseID = 'SWE497')
    primary key (id)
);

1 个答案:

答案 0 :(得分:1)

这里有很多错误:

  1. 没有NUMBER这样的东西。使用NUMERIC或DECIMAL。
  2. 您在membershipType,groupID,finalMark和Check。
  3. 的行后面缺少逗号
  4. membershipType是一个varchar,但您没有指定长度。
  5. 虽然您试图将其声明为主键,但没有名为" id"的字段
  6. 这将有效:

    CREATE TABLE students
    (
        id                  INTEGER AUTO_INCREMENT NOT NULL,
        NAME                VARCHAR(30)           NOT NULL,
        studentID           NUMERIC(10)            NOT NULL,
        email               VARCHAR(30)           NOT NULL,
        mobile              DECIMAL(15)            NOT NULL,
        GPA                 DOUBLE                NOT NULL,
        courseID            VARCHAR(6)            NOT NULL,
        membershipType      VARCHAR(10),               
        groupID             DECIMAL,
        finalMark           DECIMAL,
        CHECK (courseID='SWE496' OR courseID = 'SWE497'),
        PRIMARY KEY (id)
    );