SQLite db文件可能损坏
问题描述:
SQLite数据库.db文件显示当我在ASCII文本编辑器中打开它时存在记录。但是当我在sqlite浏览器中打开或使用客户端驱动程序时,有0条记录。表格定义仍然存在。 如果我运行杂注integrity_check,结果是好的。SQLite db文件可能损坏
注意:该表是在主数据库下创建的。
你有没有遇到过这种问题?
答
当您从SQLite数据库中删除记录(并且在其他许多数据库中也是如此)时,该记录不会立即从数据库中删除,而只会被标记为已删除的行。这就是为什么你仍然可以在十六进制/文本编辑器中看到它,尽管你不能通过SQL语句来访问它。
要从数据库中删除已删除的行并恢复磁盘空间,应使用VACUUM语句。
[SQLite FAQ:我删除了很多数据,但数据库文件没有变小。这是一个错误吗?](http://sqlite.org/faq.html#q12) –