简体   繁体   English

创建SQL表时,出现此错误“错误代码30000,SQL状态42X01:语法错误:在第3行,第22列遇到了“ AUTO_INCREMENT”。

[英]I get this error “Error code 30000, SQL state 42X01: Syntax error: Encountered ”AUTO_INCREMENT“ at line 3, column 22.” when I create a sql table

CREATE TABLE Products
(
Item_ID int NOT NULL AUTO_INCREMENT,
item_make varchar(255) NOT NULL,
item_model varchar(255),
brought_in_date varchar(255),
collected_date varchar(255),
whats_wrong varchar(255),
what_was_done varchar(255),
Price varchar(255),
CID varchar(255),
PRIMARY KEY (Item_ID),
FOREIGN KEY (CID) REFERENCES Customers(CID)
)

When I execute this I get this error 当我执行这个时,我得到这个错误

  Error code 30000, SQL state 42X01: Syntax error: Encountered "AUTO_INCREMENT" at line 3, column 22.

I am using sql on the java database, derby 我在Java数据库derby上使用sql

Does anyone know what I did wrong. 有谁知道我做错了。

Instead of AUTO_INCREMENT (which is MySQL dialect), you should use the SQL standard GENERATED ALWAYS AS IDENTITY as supported by Derby: 您应该使用Derby支持的SQL标准GENERATED ALWAYS AS IDENTITY代替AUTO_INCREMENT (这是MySQL的方言):

CREATE TABLE Products
(
Item_ID int GENERATED ALWAYS AS IDENTITY not null primary key,
item_make varchar(255) NOT NULL,
item_model varchar(255),
brought_in_date varchar(255),
collected_date varchar(255),
whats_wrong varchar(255),
what_was_done varchar(255),
Price varchar(255),
CID varchar(255),
FOREIGN KEY (CID) REFERENCES Customers(CID)
)

Accordign to the Derby definition table page the syntax would be something like this: 根据Derby定义表页面的语法将如下所示:

 CREATE TABLE PRODUCTS
 (
 ITEM_ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1,  INCREMENT BY 1)
 ...
 UNIQUE (MAP_ID)
 )

Link here derby docs 链接到这里德比文档

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

相关问题 derby中的sql错误-错误42X01:语法错误:遇到“ WHERE” - sql Error in derby - ERROR 42X01: Syntax error: Encountered “WHERE” 德比中的 SQL 错误 42X01 - SQL error 42X01 in derby SQL异常Java程序引发SQL异常SQL状态:42X01错误代码:20000? - SQL exception Java Program throwing SQL exception SQL State: 42X01 Error Code: 20000? Netbeans在尝试执行CREATE TABLE sql命令时发出错误代码-1,SQL状态为42Z93 - Netbeans issues Error code -1, SQL state 42Z93 when trying to execute a CREATE TABLE sql command java.sql.SQLSyntaxErrorException:语法错误:在第1行第33列遇到“ \\',\\'\\',\\'\\',\\'” - java.sql.SQLSyntaxErrorException: Syntax error: Encountered “\',\'\',\'\',\'” at line 1, column 33 Java sql:xx列xx遇到的语法错误 - Java sql : syntax error encountered at line xx column xx [Java]插入SQL时发生错误,表格中的数据会自动增加-userId - [Java]Error when Inserting SQL, auto increment in the table - userId 使用CREATE TABLE的SQL语法错误 - SQL Syntax Error with CREATE TABLE 休眠,当我使id列自动增加而导致SQL错误 - Hibernate, when I make the id column auto increasement with error for sql H2Database/SpringBoot SQL 错误:42122,SQLState:42S22(未找到列) - H2Database/SpringBoot SQL Error: 42122, SQLState: 42S22 (Column not found)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM