SQLite执行真空

rqenqsqc  于 2022-11-15  发布在  SQLite
关注(0)|答案(1)|浏览(178)

我已经从SQLite的‘SQLite-Net-PCL’更新了NuGet包,之后在执行vacuum时收到以下错误:
‘SQLite.SQLiteException:’SQL逻辑错误‘
我有以下真空查询代码:

_connection.Execute("vacuum");

我尝试了SQLiteCommand并创建了一个命令,但它给出了相同的错误。在我从包版本1.3.3更新到1.7.335之前,这段代码是正常的。

w8f9ii69

w8f9ii691#

使用System.Data.SQLite时,Vacuum只能在删除表后使用。
我无法使用更正参数来初始化我的数据库文件来创建一个带有‘Automatic Vacuum’的文件。这是处理这种情况的最好方法。

using System.Data.SQLite;
...

cmd.CommandText = $"DROP TABLE MyTable;";
cmd.ExecuteNonQuery();

cmd.CommandText = $"vacuum;";
cmd.ExecuteNonQuery();

这不是一个最好的方法,但对我的目的很有效。

相关问题