2015-05-26 54 views
5

我相信這是相當明顯的,對我來說,如果示例中的第二個雙重問號是單個問題,那麼它會更有意義。node-mysql中單(?)和雙問號(??)有什麼區別?

從他們docs

或者,你可以使用?字符作爲佔位符標識符你想逃脫這樣的:

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 
+1

我不知道node-mysql,但看着你的例子語句,它看起來像'??'用於標識符(表名,列名),而'?'用於值(字符串,數字) – knittl

回答

10

??用於表和列名,它避開了他們反引號。 ?是針對普通值。

相關問題