HTML5 webSQL为什么在事务中进行SELECT查询?

时间:2011-09-15 11:51:11

标签: html5 transactions web-sql

在HTML5中,webSQL在事务对象中运行SELECT查询。

为什么我需要将它包装在交易中?

有没有其他方法可以在没有交易的情况下运行它?

db.transaction(function(tx) { 
  tx.executeSql('SELECT id FROM username', [], function(tx, rs){
    ...
    ...

  });
});

1 个答案:

答案 0 :(得分:3)

web-sql processing model需要交易声明。事务指示数据库将多个操作视为一个单元。在事务块中的所有操作都成功执行之前,不会提交对查询请求的数据的更改。通过在事务期间锁定数据库来防止UPDATE / SELECT竞争条件。