我有一个简单的选择语句:
Select * FROM X where X.name in ("bob", "joe") and X.phone='123'
在postgresql中可以正常工作,
我的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中出错了。
Scan不受支持,将driver.Value类型存储到*string类型中
我如何在sql语句中使用我的names数组?
注意:如果我使用fmt.printf并将sql语句粘贴到Postgres中,则可以获取数据。如果我删除$1并手动输入字符串,则可以获取数据。
X.name = ANY ($1)
与lib/pq
数组类型。 - mkopriva