PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

AKTUALISIEREN Sie mehrere Zeilen aus mehreren Parametern in nodejs/pg

Der Treiber muss die Abfrage in dieser endgültigen Form an Postgresql übergeben:

update portfolios p
set votes = s.votes
from unnest(array[(5, 1), (15, 1), (25, 2)]) s (votes int, id int)
where p.id = s.id

Übergeben Sie also diese Abfrage an den Treiber:

update portfolios p
set votes = s.votes
from unnest($1) s (votes int, id int)
where p.id = s.id

mit einem entsprechenden Array als Parameter.

Beachten Sie, dass Sie anfällig für SQL-Injection sind, wenn Sie es selbst in Strings einbauen, anstatt es dem Treiber zu überlassen.