我是德比图书馆的新手。为什么我在查询中使用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
为什么我收到此错误?
答案 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为自动增量列和主键。
希望这有帮助