我在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')"发布于 2016-08-01 11:02:02
试试这个:
var params = [['a', 'b', 'c']];发布于 2016-08-01 11:05:21
如果没有其他的工作,您也可以尝试写单独的列表项目时,形成的语句(这应该是自动化的)。由此产生的准备语句如下所示:
"SELECT * FROM table WHERE name IN (?, ?, ?)"https://stackoverflow.com/questions/38697108
复制相似问题