Как вставить несколько строк в базу данных веб-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]);
}

Мои вопросы об этом:

  • Это можно сделать, перемещая внешний контур внутри db.transaction. Будет ли это лучше и почему?
  • Можно ли добавить несколько строк в один запрос, например, несколько значений в одном MySQL INSERT? Или я не должен беспокоиться об этом.
5
14 нояб. '12 в 22:46
источник поделиться
1 ответ

Это можно сделать, перемещая внешний цикл внутри db.transaction. Будет ли это лучше и почему?

да. намного лучше. 1) создание сделки не из дешевых. 2) Зацикливание async обычно плохое.

Можно ли добавить несколько строк в один запрос, например, несколько значений в одном MySQL INSERT? Или я не должен беспокоиться об этом.

не беспокойтесь. Использование нескольких строк - синтаксический сахар. Отсутствие выгоды от производительности. Лучше зацикливать его на одну транзакцию.

Снова не выполняйте цикл executeSql, это асинхронно.

3
15 нояб. '12 в 4:59
источник

Посмотрите другие вопросы по меткам или Задайте вопрос