在HTML5中,webSQL在事务对象中运行SELECT查询。
为什么我需要将它包装在交易中?
有没有其他方法可以在没有交易的情况下运行它?
db.transaction(function(tx) {
tx.executeSql('SELECT id FROM username', [], function(tx, rs){
...
...
});
});
答案 0 :(得分:3)
web-sql processing model需要交易声明。事务指示数据库将多个操作视为一个单元。在事务块中的所有操作都成功执行之前,不会提交对查询请求的数据的更改。通过在事务期间锁定数据库来防止UPDATE / SELECT竞争条件。