我有一个包含多行数据的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
内的外环来完成。它会更好吗?为什么?INSERT
中添加多个值?或者我不应该担心这个。答案 0 :(得分:3)
这可以通过在db.transaction中移动外部循环来完成。它会更好吗?为什么?
是肯定的。好多了。 1)创建交易并不便宜。 2)循环异步通常很糟糕。
是否可以在单个查询中添加多行,例如在单个MySQL INSERT中添加多个值?或者我不应该担心这个。
不要担心。多行解决方法是语法糖。没有性能优势。最好在一次交易中循环它。
再次不循环executeSql,它是异步的。