一尘不染

创建表时出现SQL语法错误

sql

我使用MySQL5.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服务器版本相对应的手册,以在第4行的’lastname VARCHAR,dob
VARCHAR,CONSTRAINT pk_students’附近使用正确的语法

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

错误1064(42000):您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在’lastname
VARCHAR,dob VARCHAR,CONSTRAINT pk_students PRIMARY KEY(’的第4行附近使用


阅读 180

收藏
2021-05-16

共1个答案

一尘不染

您应该VARCHAR()在以下指定长度:

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