我们有一个支持脱机功能的平板电脑应用,使用VSNomad(通过Phonegap)和Sqlite本地数据库。我注意到的一件事是,当我们从iPad上删除表格和删除表格(在iPad上执行“应用程序重置”)时,它并不反映该空间已被打开。
我遇到了Sqlite的“VACUUM”命令但是我不确定如何将这个用于我们的实现。当我尝试运行它时,我收到一条错误消息,指出无法在事务中运行。
以下是我们如何实施的示例 http://docs.phonegap.com/en/2.7.0/cordova_storage_storage.md.html#Storage
app.shared.db().transaction(function (tx) {
tx.executeSql('VACUUM', [], function (tx, results) {
alert('done');
}, function (tx, error) {
alert('error');
alert(error.message);
});
});
是否可以像这样运行真空?
答案 0 :(得分:0)
我实现了你的代码,我得到了:
E/SQLiteQuery(18724): exception: not an error; query: VACUUM
进一步搜索我发现连接到数据库时无法给出vacuum sql命令,因此无法从数据库打开并从javascript或phonegap中进行事务处理。只能从命令行给出。
但必须有另一种方式......(看着那个)。
目前我对数据库管理有一些建议:
transaction.executeSql('DELETE FROM tablename;');
)注意:不要使用'*'标记