用Mysqljs \ mysql执行'where in'语句

我在一个Node应用程序中使用了mysqljs \ mysql ,并且遇到了一些使用'in'子句执行语句的麻烦。

在参数转义下,文档指出:

数组变成列表,例如['a','b']变成'a','b'

转义查询值

但是当我尝试这样的事情:

var sql = "SELECT * FROM table WHERE name IN (?)"; var params = ['a', 'b', 'c']; console.log(mysql.format(sql, params)); 

我得到一个只包含数组的第一个值的查询:

 "SELECT * FROM table WHERE name IN ('a')" 

尝试这个 :

 var params = [['a', 'b', 'c']]; 

如果没有其他的工作,你也可以尝试写出列表项目时单独制定的声明(这应该是自动的)。 由此产生的准备陈述将如下所示:

 "SELECT * FROM table WHERE name IN (?, ?, ?)"