【发布时间】:2020-09-13 14:32:45
【问题描述】:
我有以下 postgresql 查询:
SELECT user_id, username, full_name, avatar, verified FROM users WHERE user_id IN (1,2,3)
应该选择 ID 为 1、2 或 3 的所有用户。ID 类型为 bigint。在 pgadmin 中,此查询正常工作,但使用 node-postgres,我收到以下错误:
错误:bigint 类型的输入语法无效:“1,2,3”
Node.js 代码示例:
// I have an array user_ids_array containing all user ID's
// I convert it to a string using join()
const user_ids = user_ids_array.join(',')
query = "SELECT user_id, username, full_name, avatar, verified FROM users WHERE user_id IN ($1)"
values = [user_ids]
result = await pool.query(query, values)
我猜这与 user_id (field) 是整数 (bigint) 而 user_ids 是字符串有关,但我不知道如何进行类型转换。
我找到了this question,但我也使用WHERE some_id IN (1,2) 给出了解决方案。
提前致谢!
【问题讨论】:
标签: node.js postgresql node-postgres