提问人:ArthurJ 提问时间:9/28/2021 更新时间:9/28/2021 访问量:2632
使用 node-postgres select 和 IN 子句的正确方法
Correct way of using node-postgres select with IN clause
问:
我正在尝试如何使用 node-postgres 将逗号分隔的值字符串传递到 postgres select in 子句查询中,但不幸的是,它似乎无法正常工作,也找不到任何示例。
我有以下代码:
function getUser() {
let inList = "'qwerty', 'qaz'";
const result = await pgPool.query("SELECT name FROM my_table WHERE info IN ($1)", [inList]);
if (result.rowCount == 1) return result.rows.map(row => row.name)
return false
}
基本上希望最终结果查询进行处理:
SELECT name FROM my_table WHERE info IN ('qwerty', 'qaz')
不确定这是否真的是使用 pgPool 执行此操作的正确方法?
答:
5赞
Clemb8
9/28/2021
#1
正确的方法是在 Github 上的常见问题解答中 --> https://github.com/brianc/node-postgres/wiki/FAQ#11-how-do-i-build-a-where-foo-in--query-to-find-rows-matching-an-array-of-values
你应该能够这样做:
pgPool.query("SELECT name FROM my_table WHERE info = ANY ($1)", [jsArray], ...);
下一个:mysql 插入集合?语法
评论