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

Wie kann ich eine Variable als Tabellennamen in node-pg verwenden?

Dies ist nicht möglich, parametrisierte Abfragen funktionieren nur für Werte (anstelle von Literalen), aber nicht für Bezeichner . Sie müssen den SQL-String erstellen:

const rows = await db.query(
  `SELECT * FROM ${db.escapeIdentifier(tableName)} WHERE email = $1 AND password = $2`,
  [email, password]
);

Wenn Sie die möglichen Werte des tableName kennen variabel vorher, könnten Sie davonkommen, ohne zu entkommen; Wenn Sie dies nicht tun, geben Sie das Schema besser auch explizit an.