我收到此错误“错误代码 30000,SQL 状态 42X01:语法错误:在第 3 行第 22 列遇到“AUTO_INCREMENT”。” 当我创建一个 sql 表时

Pir*_*tes 3 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),
Price varchar(255),
CID varchar(255),
PRIMARY KEY (Item_ID),
FOREIGN KEY (CID) REFERENCES Customers(CID)
)
Run Code Online (Sandbox Code Playgroud)

当我执行这个我得到这个错误

  Error code 30000, SQL state 42X01: Syntax error: Encountered "AUTO_INCREMENT" at line 3, column 22.
Run Code Online (Sandbox Code Playgroud)

我在 java 数据库 derby 上使用 sql

有谁知道我做错了什么。

ddb*_*ddb 6

AUTO_INCREMENT您应该使用GENERATED ALWAYS AS IDENTITYDerby 支持的 SQL 标准,而不是(这是 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)
)
Run Code Online (Sandbox Code Playgroud)