我使用下面的查询
创建了一个SQLite表 db.execSQL("create table " + TABLE__WORK + " ( " + ID1 + " INTEGER PRIMARY KEY ,Name TEXT, Title TEXT, Time TEXT, Date TEXT)");
现在ID可以自动递增。但是,在执行删除查询后,删除第一行数据并再次添加,ID将从1
而不是2
开始。是否可以将ID设为2
?
答案 0 :(得分: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)");
答案 1 :(得分:2)
将其设为INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
。
以下是SQLite Autoincrement文件所说的内容:
如果在
AUTOINCREMENT
之后显示INTEGER PRIMARY KEY
关键字, 这会更改自动ROWID
分配算法以防止 在数据库的生命周期内重用ROWIDs
。换一种说法,AUTOINCREMENT
的目的是阻止重用ROWIDs
来自先前删除的行。