【发布时间】:2014-04-12 20:05:57
【问题描述】:
我有以下代码用于混合移动应用程序中使用的数据库(由变量 db 表示)。
SQLite 数据库中没有Customers 或Items 表,所以第三条和第四条SQL 语句会抛出错误,但表Table1Backup 仍然创建完成。 为什么会发生这种情况,因为在这种情况下应该在事务中发生隐式回滚?
db.transaction(function(tx) {
tx.executeSql("DROP TABLE if exists Table1Backup", [], success, error);
tx.executeSql("CREATE TABLE if not exists Table1Backup AS
SELECT * FROM Table1", [], success, error);
tx.executeSql("CREATE TABLE CustomersBackup AS SELECT * FROM Customers",
[], success, error);
tx.executeSql("CREATE TABLE ItemsBackup AS SELECT * FROM Items",
[], success, error);
});
}
function success(tx, result) {
alert("succeeded ");
}
function error(tx, err) {
alert("ERROR " + err.message);
}
【问题讨论】:
标签: sqlite cordova hybrid-mobile-app