通过nodejs传递Mysql查询中的数组
我有一个简单的查询,我想传递其中有5个项目的数组。 我正在使用mysql
模块,所以我知道它可以做,但没有做synatx的权利,因此得到一个语法错误。
以下是查询:
`UPDATE table1 SET table1.col=0 WHERE (table1.col2) IN = (?) AND table1.id=(SELECT ...);`,[arr] //arr = [1,2,3,4,5];
我努力了:
`UPDATE table1 SET table1.col=0 WHERE (table1.col2) IN = (?,?,?,?,?) AND table1.id=(SELECT ...);`,[arr]`
但我仍然得到一个语法错误。
IN()
谓词的语法不使用=
。
WHERE (table1.col2) IN = (?,?,?,?,?)
应该
WHERE table1.col2 IN (?,?,?,?,?)
提示:您可以(也应该)在文档中自己检查语法,因此您可以比发布到堆栈溢出更容易地获得答案。
https://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html#function_in