我有两种在 node.js
中执行 sql 查询的方法,我想知道这两种方法之间的区别。推荐使用哪一个 ?
以及为什么 ??
第一种方法
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 ??从 ?? 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'
关于node.js - MySQL 查询如何使用和不使用占位符(?)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41614189/