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

时间:2012-11-14 19:46:30

标签: 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]);
}

我对此的疑问是:

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

1 个答案:

答案 0 :(得分:3)

这可以通过在db.transaction中移动外部循环来完成。它会更好吗?为什么?

  
    

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

  

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

  
    不要担心。多行解决方法是语法糖。没有性能优势。最好在一次交易中循环它。

  

再次不循环executeSql,它是异步的。