在MySQL 5.7

时间:2015-12-11 07:30:26

标签: mysql sql ddl create-table

有人可以根据MySQL 5.7帮助我纠正语法吗?

表:

CREATE TABLE Employee(  
EMPID   INT NOT NULL AUTO_INCREMENT,  
    EMPNAME VARCHAR(20) NOT NULL,  
    EMPAGE  INT NOT NULL,  
    SALARY BIGINT NOT NULL,  
    ADDRESS VARCHAR(20) NOT NULL  
    PRIMARY KEY (ID)  
 ); 

错误:

  

错误1064(42000):您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以获得在'(ID)附近使用的正确语法

4 个答案:

答案 0 :(得分:3)

你在这一行的末尾忘记了逗号:

ADDRESS VARCHAR(20) NOT NULL

您没有名为ID的列,您可能需要EMPID

答案 1 :(得分:2)

这里有两个问题:

  1. primary key子句是它自己的子句,需要用逗号分隔前一列定义。
  2. 您没有id列 - 您的主键应该(可能)为empid

  3. CREATE TABLE Employee(
        EMPID INT NOT NULL AUTO_INCREMENT,
        EMPNAME VARCHAR(20) NOT NULL,
        EMPAGE INT NOT NULL,
        SALARY BIGINT NOT NULL,
        ADDRESS VARCHAR(20) NOT NULL,
        PRIMARY KEY (EMPID)
    );
    

答案 2 :(得分:2)

替换

ADDRESS VARCHAR(20) NOT NULL

通过

ADDRESS VARCHAR(20) NOT NULL,

答案 3 :(得分:1)

我想这就是你要找的东西:

CREATE TABLE Employee(
EMPID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
EMPNAME VARCHAR(20) NOT NULL,
EMPAGE INT NOT NULL,
SALARY BIGINT NOT NULL,
ADDRESS VARCHAR(20) NOT NULL
);