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

Javascript 如何在Web SQL数据库中插入多行?,javascript,html,web-sql,Javascript,Html,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.nam

我有一个包含多行数据的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]);
}
我的问题是:

  • 这可以通过在
    db.transaction
    内移动外循环来实现。会更好吗?为什么
  • 是否可以在单个查询中添加多行,就像在单个MySQL中添加多个值一样
    INSERT
    ?否则我就不用担心了

  • 这可以通过在db.transaction内移动外循环来实现。会更好吗?为什么

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

    是否可以在单个查询中添加多行,就像在单个MySQL插入中添加多个值一样?否则我就不用担心了

    别担心。多行变通方法是语法上的糖类。没有绩效效益。最好在一个事务下循环它


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

    纯sql选项:当我在db.transaction函数中插入多行时,可能会遇到重复的问题,而不是只多次插入最后一行。我同意你的看法,因为async正在执行这一行为之王,你能告诉我什么是解决方案吗?如果你能提供任何样本,它将以更好的方式帮助我。