SQLite里清空表数据后自增ID如何初始化

发现SQLite里没有truncate table tablename,只好用了类似的方法:

delete from tablename

可是清空后发现自增ID还是根据清空前最后的一个ID开始计算的。而且,空间也没有释放啊。

阅读 10k
1 个回答

有一张系统表叫sqlite_sequence,有一列是表名,还有一列seq是当前的id,UPDATE成你需要的值就可以了,比如0。

虽然文件大小没变,被删的数据所占的空间可以被重新使用。想要收缩文件,可以用vacuum命令。SQLite还有一个auto_vacuum选项,可以自动收缩文件,但会导致文件的碎片化。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题