PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Inserimento corretto del nome della tabella

Qualsiasi buona libreria dovrebbe fornire un corretto escape per i nomi SQL, che includono:

  • nome schema
  • nome tabella
  • nome colonna

Ad esempio, all'interno di pg-promise lo useresti in questo modo:

db.query("INSERT INTO $1~ VALUES ($2, $3, $4)", [table_name, value_a, value_b, value_c])

cioè ottieni il nome della tua tabella correttamente evaso aggiungendo alla variabile ~ , che a sua volta lo rende sicuro da SQL injection.

Da qui, un semplice escape per i nomi delle tabelle eseguito dalla libreria:

return '"' + name.replace(/"/g, '""') + '"';

Vedi anche:Nomi SQL