我有一个Android SQLite数据库,我插入了一些行。删除这些行后,ID列从最后一个ID继续,我想从1重新开始计数。
答案 0 :(得分:5)
在.db文件中有一个名为sqlite_sequence
的表每一行都有两列'name',它是表'seq'的名称,一个整数,表示此表中当前的最后一个值
您可以将其更新为0
但请注意,您的表是否使用此ID作为唯一标识符。
看一下这个答案:SQLite Reset Primary Key Field
答案 1 :(得分:5)
尝试:
delete from sqlite_sequence where name='your_table';
答案 2 :(得分:1)
如果您想通过内容提供商重置每个RowId,请尝试使用
rowCounter=1;do {
rowId = cursor.getInt(0);
ContentValues values;
values = new ContentValues();
values.put(Table_Health.COLUMN_ID,
rowCounter);
updateData2DB(context, values, rowId);
rowCounter++;
while (cursor.moveToNext());
public static void updateData2DB(Context context, ContentValues values, int rowId) {
Uri uri;
uri = Uri.parseContentProvider.CONTENT_URI_HEALTH + "/" + rowId);
context.getContentResolver().update(uri, values, null, null);
}