PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment puis-je utiliser une variable comme nom de table dans node-pg ?

Ce n'est pas possible, les requêtes paramétrées ne fonctionnent que pour les valeurs (au lieu des littéraux) mais pas pour identifiants . Vous devrez construire la chaîne SQL :

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

Si vous connaissez les valeurs possibles du tableName variable à l'avance, vous pourriez vous en sortir sans vous échapper; si vous ne le faites pas, vous feriez mieux de spécifier également le schéma explicitement.