Každá dobrá knihovna by měla poskytovat správné kódování pro názvy SQL, které zahrnují:
- název schématu
- název tabulky
- název sloupce
Například v rámci pg-promise byste jej použili takto:
db.query("INSERT INTO $1~ VALUES ($2, $3, $4)", [table_name, value_a, value_b, value_c])
to znamená, že název tabulky bude správně escapován přidáním proměnné ~
, což jej zase činí bezpečným před SQL injection.
Odtud jednoduché escapování pro názvy tabulek prováděné knihovnou:
return '"' + name.replace(/"/g, '""') + '"';
Viz také:Názvy SQL