所以我目前正在尝试在Node.js中进行查询:
// friends is an array object
db.all('SELECT email ' +
'FROM users' +
'WHERE email in ?', friends, function(err, rows) {
if (!err) {
我知道你可以为每个'?'传递一系列参数符号,但在这种情况下是否可以使用IN运算符?如果没有,我应该进行字符串连接还是准备好的语句?
答案 0 :(得分:8)
F.e。
db.all('SELECT email ' +
'FROM users' +
'WHERE email in ( ' + friends.map(function(){ return '?' }).join(',') + ' )',
friends,
function(err, rows) {
if (!err) {
答案 1 :(得分:0)
关于asbel的很好回答:
db.all(
`SELECT email FROM users WHERE email in (${ friends.fill('?') })`,
friends,
callback
);
答案 2 :(得分:0)
// friends is an array object
db.all(`SELECT email FROM users WHERE email in ${ friends.map(() => "?").join(",") }`,
friends, (err, rows) => {
if (!err) {}
})