在重置id之前,需要了解:
当SQLite数据库中包含自增列时,会自动建立一个名为 sqlite_sequence 的表。这个表有name和seq两列,name记录自增列所在的表,seq记录当前序号(下一条记录的编号就是当前序号加1)。所以如果想把自增主键重置为1,只要将sqlite_sequence表里的seq设为0就可以了(id初始值就是0加1,为1)。
用下面两行代码就能实现啦,代码里conp1是我数据表的名字,其余的都不需要改。
db.execSQL("delete from conp1");//清空名为conp1的数据表
db.execSQL("UPDATE sqlite_sequence SET seq = 0 WHERE name = 'conp1'");//更新sqlite_sequence并将seq设为0,conp1是我数据表的名字
下面来看看程序里原代码怎么写滴,就是这么简单~运行之后id就从1开始啦
/**
* 数据库初始化
*/
private void data_init() {
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.execSQL("delete from conp1");//清空名为conp1的数据表
db.execSQL("UPDATE sqlite_sequence SET seq = 0 WHERE name = 'conp1'");//更新sqlite_sequence并将seq设为0,conp1是我数据表的名字
}