2015-09-14 79 views
-1

SQLite數據庫.db文件顯示當我在ASCII文本編輯器中打開它時存在記錄。但是當我在sqlite瀏覽器中打開或使用客戶端驅動程序時,有0條記錄。表格定義仍然存在。 如果我運行雜注integrity_check,結果是好的。SQLite db文件可能損壞

注意:該表是在主數據庫下創建的。

你有沒有遇到過這種問題?

+0

[SQLite FAQ:我刪除了很多數據,但數據庫文件沒有變小。這是一個錯誤嗎?](http://sqlite.org/faq.html#q12) –

回答

1

當您從SQLite數據庫中刪除記錄(並且在其他許多數據庫中也是如此)時,該記錄不會立即從數據庫中刪除,而只會被標記爲已刪除的行。這就是爲什麼你仍然可以在十六進制/文本編輯器中看到它,儘管你不能通過SQL語句來訪問它。

要從數據庫中刪除已刪除的行並恢復磁盤空間,應使用VACUUM語句。