我正在使用SQLite和一个在后台运行的php应用程序.我使用(Ctrl-c)阻止了应用程序,我只是注意到我有database.sqlite和database.sqlite-journal.
目前,如何在不破坏数据库的情况下删除-journal文件?
谢谢!
PS SQLite版本3.7.9
编辑:
-rw-r--r--. 1 damiano damiano 51M 8 mar 18.15 test.sqlite2
-rw-r--r--. 1 damiano damiano 2,6K 8 mar 18.15 test.sqlite2-journal
[damiano@localhost backup]$ sqlite3 test.sqlite2
SQLite version 3.7.13 2012-06-11 02:05:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>
[damiano@localhost backup]$ ls -lh
-rw-r--r--. 1 damiano damiano 51M 8 mar 18.15 test.sqlite2
-rw-r--r--. 1 damiano damiano 2,6K 8 mar 18.15 test.sqlite2-journal
[damiano@localhost backup]$
Run Code Online (Sandbox Code Playgroud)
mvp*_*mvp 10
执行以下命令:
sqlite3 test.sqlite2 vacuum
Run Code Online (Sandbox Code Playgroud)
它将使您的数据库尽可能小,并在-journal
文件中应用可能的未完成事务或回滚(并在进程中将其删除).你可以实际执行任何其他做某事的事务(但只是连接/断开是不够的),但真空似乎是最简单的方法.