2015-05-26 17 views
5

Chắc chắn điều này là khá rõ ràng, với tôi nó sẽ có ý nghĩa hơn nếu dấu hỏi kép thứ hai trong ví dụ là một duy nhất.Sự khác nhau giữa dấu (?) Và dấu hỏi kép (??) trong nút-mysql là gì?

Từ docs của họ:

Ngoài ra, bạn có thể sử dụng ?? nhân vật như giữ chỗ cho định danh bạn muốn thoát như thế này:

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

Tôi không biết node-mysql, nhưng nhìn vào ví dụ của bạn, có vẻ như '??' được sử dụng cho các định danh (tên bảng, tên cột), trong khi '?' Được sử dụng cho các giá trị (chuỗi, số) – knittl

Trả lời

10

?? được sử dụng cho bảng và cột tên, nó thoát chúng với backticks. ? là dành cho các giá trị thông thường.

Các vấn đề liên quan