我在Node应用程序中使用mysqljs\mysql,并且我在使用' in'进行语句时遇到了一些问题。条款。
在paramater转义中,文档声明:
将数组转换为列表,例如[' 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')"
答案 0 :(得分:3)
试试这个:
var params = [['a', 'b', 'c']];
答案 1 :(得分:0)
如果没有其他工作,您还可以尝试在制定声明时单独写出列表项(这应该是自动化的)。结果准备好的陈述将如下所示:
"SELECT * FROM table WHERE name IN (?, ?, ?)"