什么时候用??和 ?作为 node-mysql 中的占位符来构建查询?

When to use ?? and ? as placeholders in node-mysql for building a query?

我正在查看 node-mysql 中的一些示例 https://github.com/felixge/node-mysql

我不知道什么时候使用??和 ?作为构建查询的占位符。

这里有一个例子;

var userId = 1;
var columns = ['username', 'email'];
var query = connection.query('SELECT ?? FROM ?? WHERE id = ?', [columns, 'users', userId], function(err, results) {
  // ...
});

console.log(query.sql); // SELECT `username`, `email` FROM `users` WHERE id = 1

我怎么知道何时使用 ?? 以及何时使用 ?

?? 用于标识符。 ? 用于值。

值是变量。标识符是变量或常量的内容。

有关详细信息,请参阅下面的链接

https://github.com/felixge/node-mysql#escaping-query-values https://github.com/felixge/node-mysql#escaping-query-identifiers

感谢 t.niese 的评论。