sql - Go 中的 Postgres 列表参数(使用 database/sql 和 pq)

标签 sql postgresql go prepared-statement query-parameters

我正在尝试编写一个采用列表参数(即,作为值列表的单个参数)的查询。看来这至少有时在 Postgres 中是可能的(https://stackoverflow.com/a/10829760/836390)。我想要的是这样的:

rows, err := db.Query("SELECT * FROM table WHERE id in $1", []int{1, 2, 3})

但是,当我使用 pq 执行此操作时驱动程序,我得到一个错误:

sql: converting Exec argument #0's type: unsupported type []int, a slice

这是 pq 还不支持,还是 database/sql 不支持,或者 Postgres 根本不支持,还是什么?谢谢!

最佳答案

您可以使用 pq.Array现在有 slice 参数。所以查询看起来像:

rows, err := db.Query("SELECT * FROM table WHERE id in $1", pq.Array([]int{1, 2, 3}))

关于sql - Go 中的 Postgres 列表参数(使用 database/sql 和 pq),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20928212/

相关文章:

sql - 替换部分/行 Postgresql

go - html 未在电子邮件 golang 中翻译

go - 背书者使用错误 “cannot find package”实例化Chaincode

go - Go 中的 bigInt 包中是否有 pow 方法

用于计算百分比分布的 SUM Count 列的 SQL 语法

sql - 不同类型的公共(public)表表达式

mysql - 在 MySql 中转换日期令人困惑

sql - 获取用户自定义 SQL 语句的结果(如果有的话)

sql - 自动测试存储过程是否仍然有效 + SQL SERVER

sql - Scala Slick 2.0 与 PostgreSQL。比较时间戳