Java Derby DB - 列(PrimaryKey)带"始终作为标识生成"每次应用程序重新启动时,将基数加100

时间:2014-10-13 11:07:25

标签: java derby

我的嵌入式Derby DB出了问题。被困了几个小时。你能明白为什么吗?

当我打开我的应用程序,然后执行一个在数据库中插入新行的函数时,我的主键从1,2,3开始,依此类推。

但是,如果我关闭应用程序然后打开它,并执行相同的功能插入新行,我的主键从数字开始,基于下一个100.第一次重新打开它,它将是101,102,103和等等。我第二次重用我的应用程序,它将是201,202,203 ......

表sql创建如下。如果我删除(增加1)或在该列中添加(以1开头)无关紧要

public static final String CREATE_TBL = "CREATE TABLE MyGamez.Game "
            + "(GameID INT not null primary key GENERATED ALWAYS AS IDENTITY"
            + "(Increment by 1), Title VARCHAR (40), Genre VARCHAR (30), Developer VARCHAR(30))";

带有行的结果表是这样的:每个+100都是我的应用程序的新重新打开。

GAMEID  TITLE   GENRE   DEVELOPER
1   a   a   a
2   aa  aa  aa
3   a   a   a
4   aaa a   a
101 a       
102 a   a   a
103 bb  b   b
201 asdasd  fasfs   fasfasf
301 fsdfd   ff  fff
302 ewew    ewewe   ewew
303 xxx xxx xxx

我在想创建自己的密钥,我只是希望它尽可能干净。我来自MySQL,从未遇到过这个问题。

谢谢!

0 个答案:

没有答案