sql >> Databáze >  >> RDS >> Mysql

Únikové hodnoty v Mysqljs

S odkazem na stránku dokumentace, na kterou jste odkazovali, v části „Uniknutí identifikátorů dotazu “, měli byste být schopni provést toto:

mysql.query('SELECT * FROM ?? where name = ?', [this.table, this.votesTable]

Většina SQL frameworků neumožňuje použití parametrů pro cokoli kromě jednotlivých hodnot . Tj. neidentifikuje tabulku, identifikátory sloupců, seznamy hodnot nebo klíčová slova SQL. Knihovna mysqljs je neobvyklá v tom, že podporuje citování identifikátorů a párů klíč/hodnota.

K vašemu komentáři:

?? zástupný symbol je určen pro identifikátory. Identifikátory musí být citovány odlišně od hodnot. V MySQL se hodnota řetězce uvádí jako 'string' ale identifikátor je uveden se zpětnými znaménky.

SELECT * FROM `mytable` where name = 'myname'

Třída mysqljs používá ?? jako speciální zástupný symbol pro identifikátor, takže můžete třídě říci, že musí být uvozována pomocí zpětných znamének.




  1. Nejlepší způsob, jak vložit data JSON do MYSQL

  2. Jak mohu dát databázi pod git (řízení verzí)?

  3. MySQL v docker-compose -- přístup odepřen

  4. Chování MySQL GROUP BY