我有两种方法来执行sql查询node.js
,我想知道这两者之间的区别.建议使用哪一个?
以及为什么??
var userId = 1; var columns = ['username', 'email']; var query = connection.query('SELECT ?? FROM ?? WHERE id = ?', [columns, 'users', userId], function(err, results) { // ... });
var userId = 1; var query = connection.query('SELECT username,email FROM UserTable WHERE id=?', [userId], function(err, results) { // ... });
请告诉我这两种机制的确切用法.
??
替换字符串中的双重问号语法在将分隔符中的替换参数发送到服务器之前将其包装在分隔符中.分隔符适用于表名和列名.所以你的第一个例子就是'SELECT ?? FROM ?? WHERE id = ?'
发送
SELECT `username`, `email` FROM `users` WHERE id = '1'
到服务器.
第二个'SELECT username,email FROM UserTable WHERE id=?'
,发送
SELECT username,email FROM UserTable WHERE id='1'