Java 我得到这个错误;错误代码30000,SQL状态42X01:语法错误:遇到;“自动增量”;在第3行第22列。”;当我创建一个sql表时

Java 我得到这个错误;错误代码30000,SQL状态42X01:语法错误:遇到;“自动增量”;在第3行第22列。”;当我创建一个sql表时,java,sql,derby,Java,Sql,Derby,当我执行这个命令时,我得到了这个错误 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),

当我执行这个命令时,我得到了这个错误

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)
)
我正在java数据库derby上使用sql


有人知道我做错了什么吗。

您应该使用Derby支持的SQL标准,而不是
自动增量(这是MySQL方言):

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

根据Derby定义表页面,语法如下:

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)
)

此处链接

参考Sam根据其代码所做的文章mysql@Naranca我不确定代码的哪个部分暗示这是MySQL,并且如果编辑看起来是德比,可能是错误的,但是错误部分是我所考虑的。mysql@Naranca对于MySQL,我希望看到一条错误消息“您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,了解第3行“自动增量”附近使用的正确语法(如果在MySQL中使用
AUTO\u INCREMENT
可能是语法错误)。请注意指定
(从1开始,增量为1)
不是必需的,因为这是默认值。@markrotVeel right,这种情况下将使用新的空表启动一个新的数据库。
 CREATE TABLE PRODUCTS
 (
 ITEM_ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1,  INCREMENT BY 1)
 ...
 UNIQUE (MAP_ID)
 )