一、为什么要归零?
1、因为我不能让数据表中的行数大于20,所以再删除后我希望再次写入的数据ID从1开始自增。
二、方法:同时用下面两条语句就可以达到我所要的归零效果。
1、db.execSQL("delete from timing ");//这里timing就是我程序中数据库中的数据表名。
//为下面语句先说明下:当SQLite数据库中包含自增列时,会自动建立一个名为 sqlite_sequence 的表。这个表包含两个列:name和seq。name记录自增列所在的表,seq记录当前序号(下一条记录的编号就是当前序号加1)。所以说如果想把某个自增列的序号归零,只需要修改 sqlite_sequence表就可以了。
2、db.execSQL("UPDATE sqlite_sequence SET seq = 0 WHERE name ='timing'");//这里其它都是默认的,只有timing是我程序中的数据表名。
结语:其实用的是SQL删除和更新语句。个人程序中实际过,通过测试。
下面为我程序中的函数:
public void clearTable(){
SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
db.execSQL("delete from timing ");
}
public void updateIdTo_0(){
SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
db.execSQL("UPDATE sqlite_sequence SET seq = 0 WHERE name ='timing'");
}
源码下载:http://www.yxwojia.com/sort-3105990-1.html