我试图使用pq驱动程序在Go中对PostgreSQL数据库执行以下查询:
SELECT COUNT(id)
FROM tags
WHERE id IN (1, 2, 3)
Run Code Online (Sandbox Code Playgroud)
在1, 2, 3切片处传递的位置tags := []string{"1", "2", "3"}.
我尝试了很多不同的东西,比如:
s := "(" + strings.Join(tags, ",") + ")"
if err := Db.QueryRow(`
SELECT COUNT(id)
FROM tags
WHERE id IN $1`, s,
).Scan(&num); err != nil {
log.Println(err)
}
Run Code Online (Sandbox Code Playgroud)
结果pq: syntax error at or near "$1".我也试过了
if err := Db.QueryRow(`
SELECT COUNT(id)
FROM tags
WHERE id IN ($1)`, strings.Join(stringTagIds, ","),
).Scan(&num); err != nil …Run Code Online (Sandbox Code Playgroud) 我想在mysql数据库中查询一个表的值IN:
var qids []int
//fill qids dynamically
err = database.SQL.Select("es,
"SELECT * FROM quote WHERE qid IN $1", qids)
if err != nil {
log.Println(err)
}
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
sql: converting Exec argument #0's type: unsupported type []int, a slice
quotes []
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?