sql >> Database >  >> RDS >> PostgreSQL

Juiste invoeging van tabelnaam

Elke goede bibliotheek zou de juiste escaping moeten bieden voor SQL-namen, waaronder:

  • schemanaam
  • tabelnaam
  • kolomnaam

Binnen pg-promise zou je het bijvoorbeeld als volgt gebruiken:

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

d.w.z. u krijgt uw tabelnaam correct ontsnapt door de variabele toe te voegen met ~ , wat het op zijn beurt weer veilig maakt voor SQL-injectie.

Vanaf hier een eenvoudige escape voor tabelnamen uitgevoerd door de bibliotheek:

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

Zie ook:SQL-namen



  1. SQL herkent kolomalias niet in where-clausule

  2. 4 gegevenstypen die worden afgeschaft in SQL Server

  3. SQLAlchemy geen wachtwoord opgegeven fout

  4. Vind dubbele records in MySQL