使用 pq.Array 将切片参数合并到 SQL 查询中
尝试执行包含整数切片作为参数的 SQL 查询时,用户可能会遇到错误:“sql:转换参数 $1 类型:不支持的类型 []int,int 切片。”为了解决这个问题,可以使用 pq.Array 函数。
问题:
考虑以下代码:
somevars := []int{1, 2, 3, 4} rows, err := db.Query("SELECT c1,c2 FROM table"+tid+" WHERE c1 IN(,,,);", somevars)
执行此代码查询产生错误:“sql:转换参数 $1 类型:不支持的类型 []int,切片int."
解决方案:
要解决这个问题,可以使用 pq.Array 将整数切片封装到单个参数中:
somevars := []int{1, 2, 3, 4} rows, err = db.Query("SELECT c1,c2 FROM table"+tid+" WHERE c1 = any();", pq.Array(somevars))
pq.Array 函数将整数切片转换为数组表示形式,使其能够由 SQL 查询正确处理。通过使用 pq.Array,可以轻松地将切片参数合并到 SQL 查询中,从而解决错误消息。
以上是如何使用 pq.Array 将整数切片作为 SQL 查询中的参数传递?的详细内容。更多信息请关注PHP中文网其他相关文章!