简体   繁体   English

SQL语法错误“始终以身份身份生成”

[英]SQL syntax error 'GENERATED ALWAYS AS IDENTITY'

I am trying to upload this file to netbeans however I am unable to create the authors table and continue to receive the following error: 我正在尝试将此文件上传到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');

[Warning, Error code 1,064, SQLState 42000] You have an error in your SQL syntax; [警告,错误代码1,064,SQLState 42000]您的SQL语法错误; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GENERATED ALWAYS AS IDENTITY, firstName varchar (20) NOT NULL, lastName va' at line 2 检查与您的MySQL服务器版本对应的手册以获取正确的语法,以在第2行的“ GENERATED ALWAYS AS IDENTITY,firstName varchar(20)NOT NULL,lastName va”附近使用

[Exception, Error code 1,064, SQLState 42000] You have an error in your SQL syntax; [异常,错误代码1,064,SQLState 42000]您的SQL语法错误; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GENERATED ALWAYS AS IDENTITY, firstName varchar (20) NOT NULL, lastName va' at line 2 Line 2, column 1 检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第2行第2行第1列的'GENERATED ALWAYS AS IDENTITY,firstName varchar(20)NOT NULL,lastName va'附近使用

[Warning, Error code 1,146, SQLState 42S02] Table 'books.authors' doesn't exist [警告,错误代码1,146,SQLState 42S02]表'books.authors'不存在

I have been searching all over the web for hours and have yet to find an answer! 我已经在网上搜索了几个小时,但还没有找到答案! I am new to SQL so I apologize if this is a duplicate question. 我是SQL的新手,如果这是一个重复的问题,我深表歉意。 I am using MYSQL version 5.7.18 我正在使用MYSQL版本5.7.18

There are seval things wrong: 有一些错误的事:

  1. identity is SQL Server syntax, MySQL uses auto_increment identity是SQL Server语法,MySQL使用auto_increment
  2. <name> <type> generated always as <calculation> applies to calculated columns. <name> <type> generated always as <calculation>适用于计算列。

Try: 尝试:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM