[英]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.