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