创建表时出现SQL语法错误

时间:2015-07-13 12:10:29

标签: mysql sql syntax-error

我使用MySQL 5.6命令行客户端创建一个简单的数据库,我可以创建数据库但是创建我的第一个表我有一个我无法识别的语法错误。感谢您的帮助,对不起,如果有英语错误,那么这不是我的第一语言。 请找到粘贴SQL语法错误:

mysql> USE SYLVAINTEST
Database changed
mysql> CREATE TABLE students
    ->   (
->      studentid INT NOT NULL,
->      firstname VARCHAR,
->      lastname  VARCHAR,
->      dob       VARCHAR,
->      CONSTRAINT pk_students PRIMARY KEY (studentid)
->   );
  

错误1064(42000):您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以获得正确的语法,以便在'附近使用。        姓氏VARCHAR,        dob VARCHAR,        约束pk_students'在第4行

mysql> CREATE TABLE students
->   (
->   studentid  INT  NOT NULL,
->   firstname  VARCHAR    ,
->   lastname  VARCHAR    ,
->   dob VARCHAR ,
->   CONSTRAINT pk_students PRIMARY KEY (studentid)
->   );
  

错误1064(42000):您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以获得正确的语法,以便在'附近使用。       姓氏VARCHAR,       dob VARCHAR,       约束pk_students PRIMARY KEY('第4行

2 个答案:

答案 0 :(得分:1)

您应在以下内容中为VARCHAR()指定长度:

CREATE TABLE students
    (
    studentid INT NOT NULL,
    firstname VARCHAR(40),
    lastname  VARCHAR(40),
    dob       VARCHAR(20),
    CONSTRAINT pk_students PRIMARY KEY (studentid)
 );

答案 1 :(得分:0)

您缺少VARCHAR数据类型的长度

CREATE TABLE students
      (
     studentid INT NOT NULL,      firstname VARCHAR(100),      
     lastname  VARCHAR(100),
     dob  VARCHAR(20),
     CONSTRAINT pk_students PRIMARY KEY (studentid)
      );

还要确保使用正确的datetime数据类型来存储数据时间值