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

use*_*486 5 javascript mysql node.js node-mysql

我正在查看 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
Run Code Online (Sandbox Code Playgroud)

我如何知道何时使用??以及何时使用?

use*_*486 8

??用于标识符。?是为了价值观。

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

欲了解更多详情,请参阅下面的链接

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

感谢 t.niese 的评论。