create table user(“user_id int auto_increment”);不适用于德比(嵌入式数据库)

时间:2016-07-28 07:41:18

标签: java mysql derby

我是德比图书馆的新手。为什么我在查询中使用auto_increment时出现此错误?

这是我的java代码

 this.conn.createStatement().execute(create table user("user_id int auto_increment, PRIMARY KEY(user_id))");

我在mysql服务器上尝试了这个并且它的工作但在德比中我得到了这个错误

java.sql.SQLSyntaxErrorException: Syntax error: Encountered "auto_increment" at line 1

为什么我收到此错误?

1 个答案:

答案 0 :(得分:2)

Derby没有auto_increment作为关键字。在derby中,您需要使用标识列来实现自动增量行为

例如

CREATE TABLE students
(
id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
name VARCHAR(24) NOT NULL,
address VARCHAR(1024),
CONSTRAINT primary_key PRIMARY KEY (id)
) ;

上面的语句将创建Student表,其id为自动增量列和主键。

希望这有帮助