发现SQLite里没有truncate table tablename,只好用了类似的方法:
truncate table tablename
delete from tablename
可是清空后发现自增ID还是根据清空前最后的一个ID开始计算的。而且,空间也没有释放啊。
有一张系统表叫sqlite_sequence,有一列是表名,还有一列seq是当前的id,UPDATE成你需要的值就可以了,比如0。
虽然文件大小没变,被删的数据所占的空间可以被重新使用。想要收缩文件,可以用vacuum命令。SQLite还有一个auto_vacuum选项,可以自动收缩文件,但会导致文件的碎片化。
欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。 温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。