Я создаю приложение в node.js, используя node-postgres. Я не знаю, как обновлять сразу несколько записей.
Вот мой код:node-postgres: обновление сразу нескольких записей
var status = 20;
var id = [23,12,43];
pool.connect(function(err, client, done)
{
if(err)
{
done();
console.log(err);
return res.status(500).send(json({ success: false, data: err}));
}
client.query("UPDATE myDatabase SET status=($1) WHERE id IN($2);", [status,id]);
Но у меня есть проблема - консоль:
events.js:160 throw er; // Unhandled 'error' event ^
error: invalid input syntax for integer: "23,12,43"
Что я могу сделать в этом случае? Какие данные используются? длина var id будет не одинаковой каждый раз.
Привет, Рафал
EDIT: Я думаю, что изменение данных будет работать в JavaScript, вход должен быть 23,12,43, но вместо этого [23,12,43], но я не знаю, как это сделать.
вы используете 'node-postgres' напрямую или через [pg-prom] (https://github.com/vitaly-t/pg-promise)? –
Я только что видел pg-обещание, и это выглядит красиво, я определенно попробую – Rafalsonn
с 'pg-prom', вы можете форматировать id-s в своем запросе следующим образом:' WHERE id = ANY ($ 2: csv) '. –