我以查詢創建一個SQLite見下表SQLite的ID自動遞增
db.execSQL("create table " + TABLE__WORK + " (" + ID1 + " INTEGER PRIMARY KEY ,Name TEXT, Title TEXT, Time TEXT, Date TEXT)");
的ID現在可以自動遞增。但在執行刪除查詢後,刪除第一行數據並再次添加,ID將從1
開始,而不是從2
開始。是否有可能使ID變成2
?
我以查詢創建一個SQLite見下表SQLite的ID自動遞增
db.execSQL("create table " + TABLE__WORK + " (" + ID1 + " INTEGER PRIMARY KEY ,Name TEXT, Title TEXT, Time TEXT, Date TEXT)");
的ID現在可以自動遞增。但在執行刪除查詢後,刪除第一行數據並再次添加,ID將從1
開始,而不是從2
開始。是否有可能使ID變成2
?
SQLite AUTOINCREMENT是一個關鍵字,用於自動遞增表中字段的值。您不需要ID1
。
見參考here
請使用:
db.execSQL("create table " + TABLE__WORK + " (ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,Name TEXT, Title TEXT, Time TEXT, Date TEXT)");
謝謝,但我不明白爲什麼我的ID會自動 - 增加,雖然我沒有添加AUTOINCREMENT? –
也許如果你告訴我你的代碼裏有什麼'ID1',我會試着給你解釋一下 –
'public static final String ID1 =「ID」;' –
讓它INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
。
這裏的SQLite Autoincrement文件說什麼:
如果出現
AUTOINCREMENT
關鍵字INTEGER PRIMARY KEY
, 改變自動ROWID
分配算法,以防止 重用ROWIDs
對數據庫的生命週期之後。換句話說,AUTOINCREMENT
的目的是防止重複使用以前刪除的行中的ROWIDs
。
您應該在主鍵中添加AUTOINCREMENT。 –
可能重複的[SQLite:autoincrement主鍵問題](http://stackoverflow.com/questions/8519936/sqlite-autoincrement-primary-key-questions) – AxelH