Ich baue eine App in node.js mit node-postgres. Ich weiß nicht, wie ich mehr als einen Datensatz gleichzeitig aktualisieren kann.
Hier ist mein Code:node-postgres: Mehrere Datensätze gleichzeitig aktualisieren
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]);
Aber ich habe ein Problem - Konsole:
events.js:160 throw er; // Unhandled 'error' event ^
error: invalid input syntax for integer: "23,12,43"
Was kann ich in diesem Fall tun? Welche Art von Daten verwenden? Die Länge von var id wird nicht jedes Mal gleich sein.
Grüße, Rafał
EDIT: Ich denke, dass eine Änderung der Daten in JavaScript funktionieren wird, muss der Eingang 23,12,43, sein, sondern ist [23,12,43], aber ich weiß nicht, wie man das macht.
Sie verwenden 'node-postgres' direkt oder über [pg-promise] (https://github.com/vitaly-t/pg- promise)? –
Ich habe gerade gesehen, pg-Versprechen und es sieht gut aus, werde ich definitiv versuchen, dass – Rafalsonn
mit 'pg-Versprechen' können Sie ID-s in Ihrer Abfrage wie folgt formatieren: 'WHERE id = ANY ($ 2: csv)'. –