SQL语法错误'生成始终作为身份'

时间:2017-05-14 14:35:16

标签: mysql netbeans-8

我正在尝试将此文件上传到netbeans但是我无法创建authors表并继续收到以下错误:

CREATE TABLE authors (
   authorID INT NOT NULL GENERATED ALWAYS AS IDENTITY,
   firstName varchar (20) NOT NULL,
   lastName varchar (30) NOT NULL,
   PRIMARY KEY (authorID)
);

INSERT INTO authors (firstName, lastName)
VALUES 
   ('Paul','Deitel'), 
   ('Harvey','Deitel'),
   ('Abbey','Deitel'), 
   ('Dan','Quirk'),
   ('Michael','Morgano');

[警告,错误代码1,064,SQLState 42000]您的SQL语法出错;检查与您的MySQL服务器版本对应的手册,以获得正确的语法,使用附近的“生成始终为身份”,    firstName varchar(20)NOT NULL,    lastName va'在第2行

[例外,错误代码1,064,SQLState 42000]您的SQL语法中有错误;检查与您的MySQL服务器版本对应的手册,以获得正确的语法,使用附近的“生成始终为身份”,    firstName varchar(20)NOT NULL,    lastName va'在第2行 第2行第1列

[警告,错误代码1,146,SQLState 42S02]表' books.authors'不存在

我一直在网上搜索几个小时,还没有找到答案!我是SQL的新手,所以如果这是一个重复的问题我会道歉。我使用的是MYSQL版本5.7.18

1 个答案:

答案 0 :(得分:6)

有错误的东西:

  1. identity是SQL Server语法,MySQL使用auto_increment
  2. <name> <type> generated always as <calculation>适用于计算列。
  3. 尝试:

    CREATE TABLE authors (
       authorID INT NOT NULL AUTO_INCREMENT,
       firstName varchar (20) NOT NULL,
       lastName varchar (30) NOT NULL,
       PRIMARY KEY (authorID)
    );