关于sqlite 删除一条记录,id重新排序(Qt环境)

ccp668 2012-11-19 08:30:55
如何让id重新排序?
比如有5条数据1|a1
2|a2
3|a3
4|a4
5|a5
然后我删除了第三条记录
1|a1
2|a2
4|a4
5|a5
怎么样才能重新排序,达到下面的效果呢?
1|a1
2|a2
3|a4
4|a5

烦请给例子,谢谢!
...全文
2346 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fangdingjie 2014-09-19
  • 打赏
  • 举报
回复
//删除缓冲所有数据 // 删除SQLite数据库库某表内所有数据,并且自增长的id从0开始 public void dropTable() { SQLiteDatabase db=dbHelper.getWritableDatabase(); // db.execSQL("DROP TABLE IF EXISTS "+SppDBHelper.TBL_NAME); db.execSQL("delete from "+SppDBHelper.TBL_NAME) ; db.execSQL("update sqlite_sequence SET seq = 0 where name = '"+SppDBHelper.TBL_NAME+"'"); db.close();//关闭数据库对象 }
PandaGreatly 2013-02-22
  • 打赏
  • 举报
回复 4
update data set id=id-1 where id>currentCount; 这一句就行了,data是表名,currentCount是你删的记录ID
jdwx 2012-11-19
  • 打赏
  • 举报
回复 1
id是key 1:导出整个表 2:清空这个表(不清楚sqlite清空之后id会不会复位,sqlite还是和其它的大型数据库有一些区别的) 3:将数据放回去。 id不是key 写个循环,每个记录update一遍就可以了。
ccp668 2012-11-19
  • 打赏
  • 举报
回复
刚接触数据库和sqlite3,希望能有比较详细的解释。谢谢

16,212

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧