2015-09-14 35 views
-1

SQLite数据库.db文件显示当我在ASCII文本编辑器中打开它时存在记录。但是当我在sqlite浏览器中打开或使用客户端驱动程序时,有0条记录。表格定义仍然存在。 如果我运行杂注integrity_check,结果是好的。SQLite db文件可能损坏

注意:该表是在主数据库下创建的。

你有没有遇到过这种问题?

+0

[SQLite FAQ:我删除了很多数据,但数据库文件没有变小。这是一个错误吗?](http://sqlite.org/faq.html#q12) –

回答

1

当您从SQLite数据库中删除记录(并且在其他许多数据库中也是如此)时,该记录不会立即从数据库中删除,而只会被标记为已删除的行。这就是为什么你仍然可以在十六进制/文本编辑器中看到它,尽管你不能通过SQL语句来访问它。

要从数据库中删除已删除的行并恢复磁盘空间,应使用VACUUM语句。