Verwijzend naar de documentatiepagina waarnaar u heeft gelinkt, onder de sectie "Escaping query-ID's ", zou je dit moeten kunnen doen:
mysql.query('SELECT * FROM ?? where name = ?', [this.table, this.votesTable]
De meeste SQL-frameworks staan niet toe dat parameters voor iets anders worden gebruikt dan voor individuele waarden . D.w.z. niet-tabelidentificaties, kolom-ID's, zoeklijsten of SQL-sleutelwoorden. De mysqljs-bibliotheek is ongebruikelijk omdat het ondersteuning biedt voor het aanhalen van identifiers en sleutel/waarde-paren.
Opnieuw uw opmerking:
De ??
placeholder is voor identifiers. Identifiers moeten anders worden geciteerd dan waarden. In MySQL wordt een tekenreekswaarde tussen aanhalingstekens geplaatst, zoals 'string'
maar een identifier wordt geciteerd met back-ticks.
SELECT * FROM `mytable` where name = 'myname'
De klasse mysqljs gebruikt de ??
als een speciale tijdelijke aanduiding voor een identifier, zodat u de klasse kunt vertellen dat deze met back-ticks moet worden aangehaald.