如何在Web SQL数据库中插入多行?

Nav*_*eed 6 javascript html5 web-sql

我有一个包含多行数据的JavaScript对象,我想将其插入到Web sql数据库中.这是我的代码的样子.

for(i in rows)
{
    (function(row){
        db.transaction(function(tx) {
            tx.executeSql("INSERT INTO my_table (id, name, parent_id) VALUES (?, ?, ?)",
                [ row.id, row.name, row.parent_id ], onSuccess, onError
            );
        });
    })(rows[i]);
}
Run Code Online (Sandbox Code Playgroud)

我对此的疑问是:

  1. 这可以通过在内部移动外环来完成db.transaction.它会更好吗?为什么?
  2. 是否可以在单个查询中添加多行,如单个MySQL中的多个值INSERT?或者我不应该担心这个.

Kya*_*Tun 3

这可以通过将外部循环移至 db.transaction 内来完成。会更好吗?为什么?

是的。好多了。1)创建交易并不便宜。2)循环异步通常是不好的。

是否可以在单个查询中添加多行,就像在单个 MySQL INSERT 中添加多个值一样?或者我不应该担心这个。

不用担心。多行解决方法是语法糖。没有性能优势。最好将其循环在一项事务下。

同样不要循环executeSql,它是异步的。