我的嵌入式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,从未遇到过这个问题。
谢谢!