Ethvert godt bibliotek bør give korrekt escape for SQL-navne, som inkluderer:
- skemanavn
- tabelnavn
- kolonnenavn
For eksempel, inden for pg-promise ville du bruge det sådan her:
db.query("INSERT INTO $1~ VALUES ($2, $3, $4)", [table_name, value_a, value_b, value_c])
dvs. du får dit tabelnavn korrekt escaped ved at tilføje variablen med ~
, hvilket igen gør det sikkert mod SQL-injektion.
Herfra en simpel escape for tabelnavne udført af biblioteket:
return '"' + name.replace(/"/g, '""') + '"';
Se også:SQL-navne