执行'在'使用Mysqljs \ mysql的语句

时间:2016-08-01 10:59:07

标签: javascript mysql node.js

我在Node应用程序中使用mysqljs\mysql,并且我在使用' in'进行语句时遇到了一些问题。条款。

在paramater转义中,文档声明:

  

将数组转换为列表,例如[' a',' b']变成' a'' b'

Escaping query values

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

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')"

2 个答案:

答案 0 :(得分:3)

试试这个:

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

答案 1 :(得分:0)

如果没有其他工作,您还可以尝试在制定声明时单独写出列表项(这应该是自动化的)。结果准备好的陈述将如下所示:

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