I'm sure this is pretty obvious, it would be more reasonable for me if the second double question mark in the example was the only one.
From docs :
Alternatively can you use? characters as placeholders for identifiers that you would like to slip away as follows:
var userId = 1; var columns = ['username', 'email']; var query = connection.query('SELECT ?? FROM ?? WHERE id = ?', [columns, 'users', userId], function(err, results) {
source share