Pozwolę sobie odświeżyć temat, gdyż nie polecam wykonywania takiego kodu.
Tworzenie pola ID za pomocą:
ID INTEGER PRIMARY KEY
jest złe z tego powodu, że nowe numery dopisywane są na zasadzie:
insert into tabela(ID)
select max(ID)+1 from tabela
Co oznacza to w praktyce?
Już tłumaczę.
Załóżmy, że mamy dwa rekordy:
ID | dane
----------------------
1 | jakieś dane
2 | inne dane
Następnie usuwamy ostatni rekord:
delete from tabela where ID = 2
A następnie dodajemy nowy:
insert into tabela(dane) values('Najnowsze dane')
Rezultatem będzie:
ID | dane
----------------------
1 | jakieś dane
2 | Najnowsze dane
Zwróć uwagę na ID tego rekordu :)
Oczywiście chyba nie muszę tłumaczyć dlaczego jest to działanie niepożądane.
Żeby tego uniknąć jest słowo kluczowe AUTOINCREMENT. Nie pamiętam, czy od zawsze, czy od którejś wersji, czyli tworząc tabelę:
CREATE table tabela(
ID INTEGER PRIMARY KEY AUTOINCREMENT,
dane varchar(200)
)
BTW, nie to forum ;)