Мне нужно вставить 10 строк в таблицу sqlite3, и как только вставки будут выполнены, передайте 10 идентификаторов новых строк функции обратного вызова в массиве.Как выполнить объемную вставку с использованием sqlite3 в node.js?
Моя проблема заключается в том, что я не могу понять, как сделать подготовленный оператор выполнять несколько вставок сразу. Я нашел этот пост о том, как это сделать с помощью mySQL.
Но это не работает с SQLite. Мой код ниже:
params = [[1,2],[3,4],[5,6],[7,8]]
stmt = db.prepare("INSERT INTO test (num1, num2) VALUES (?)");
stmt.all([params], function(err, res) {
if(err) {
console.log(err);
return;
} else {
createdIDs = []
for (i in result) {
createdIDs.push(result[i].id);
}
nextFunction(createdIDs);
}
});
который дает следующее сообщение об ошибке:
Error: SQLITE_ERROR: 1 values for 2 columns
at Error (native)
схема стола, как это:
Edit: Используя решение Альваро, теперь я получаю эту ошибку сообщение:
{ [Error: SQLITE_CONSTRAINT: NOT NULL constraint failed: test.num1] errno: 19, code: 'SQLITE_CONSTRAINT' }
вы уверены, что вы сделали так же, как ответ? –
@AlvaroJoao Да, код должен быть таким же, как этот другой ответ. Разница в том, что я использую sqlite3, а не mysql –
просто ответил на ваш вопрос ... PLS upvote и отметьте как правильный ответ, если я помог вам –