У меня проблема с моей встроенной базой данных Derby. Застрял на несколько часов. Вы видите, почему?
Когда я открываю свое приложение, затем выполняю функцию, вставляющую новые строки в базу данных, мой первичный ключ начинается с 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, никогда не было этой проблемы.
Спасибо!