H2数据库自动递增的id在首次输入后具有随机值

时间:2015-08-22 16:07:51

标签: java sql jdbc auto-increment h2

我用查询创建了数据库表:

"CREATE TABLE downloads(id BIGINT PRIMARY KEY AUTO_INCREMENT,...

当我在表格中插入任何内容时,第一次为输入生成的ID是 1

第二次100%的时间随机值 1,33,65,97,129,161,193,225,226,227

有没有办法将我的数据库设置为正常自动增量? 1,2,3,4等等,对我来说,身份证号码无关紧要我必须能够预先确定一个条目的下一个ID。如果有办法预测或获取将要生成的ID如果我没有创造任何伟大的头脑,那么我可能会使用它。

所以我的问题是为什么我的id为随机值?

有没有办法将自动增量设置为普通+1?

如果无法将自动增量设置为+1样式,我可以在生成之前获取id值吗?

我用于连接的唯一选项是;DATABASE_TO_UPPER=false

查询以插入数据

getConnection().prepareStatement("INSERT INTO downloads(state,name,size,source,added,completedOn,downloadDir) VALUES(?,?,?,?,?,?,?)",Statement.RETURN_GENERATED_KEYS);

编辑:创建新数据库后,每次数字都完全相同,所以这些值不是随机的。我输入的前3个值有id 1,3,3,6

1 个答案:

答案 0 :(得分:0)

发现问题出在查询的 PRIMARY KEY 部分... 从那里删除它并制作另一个数据库之后,现在一切正常。