-1

当我在 ascii 文本编辑器中打开 SQLite 数据库 .db 文件时,它显示记录存在。但是当我在 sqlite 浏览器中打开或使用客户端驱动程序时,有 0 条记录。表定义仍然存在。如果我运行编译指示完整性检查,结果是好的。

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

你有没有遇到过这样的问题?

4

1 回答 1

1

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

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

于 2015-09-14T06:05:07.013 回答