【发布时间】:2018-11-08 23:08:58
【问题描述】:
我有一个简单的选择语句:
Select * FROM X where X.name in ("bob", "joe") and X.phone='123'
这在 postgres 中运行良好,
在我的 Go 代码中,我有以下代码:
var phone string = "123"
var names []string = []string{"bob", "joe"}
sqlStatement := `Select * FROM X where X.name in ($1) and X.phone=$2`
rows, sqlerr := db.Query(sqlStatement, names, phone)
但由于某种原因,我从那个 sql 中出错了。
不支持扫描,将 driver.Value 类型存储到 *string 类型中
如何在 sqlstatement 中使用我的名称数组?
注意:如果我执行 fmt.printf 并将 sql 语句粘贴到 postgres 中,我会返回数据 + 如果我取出 $1,并手动输入字符串
【问题讨论】:
-
使用
X.name = ANY ($1)和lib/pqarray types。
标签: postgresql go