sql >> Databasteknik >  >> RDS >> PostgreSQL

Korrekt infogning av tabellnamn

Alla bra bibliotek bör ge korrekt escape för SQL-namn, som inkluderar:

  • schemanamn
  • tabellnamn
  • kolumnnamn

Till exempel, inom pg-promise skulle du använda det så här:

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

dvs du får ditt tabellnamn korrekt escaped genom att lägga till variabeln med ~ , vilket i sin tur gör det säkert från SQL-injektion.

Härifrån, en enkel escape för tabellnamn som exekveras av biblioteket:

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

Se även:SQL-namn



  1. Infogar i Oracle Nested Table i Java

  2. Hur man håller reda på vad användarna gör

  3. Markörbaserade poster i PostgreSQL

  4. Finns det en Oracle SQL-fråga som samlar flera rader till en rad?