SQLite id自动增量

时间:2016-11-25 08:21:24

标签: android sqlite primary-key

我使用下面的查询

创建了一个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

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   来自先前删除的行。