如何在 Go 中扫描 SQL 数组到 []int64?
How to scan SQL array to []int64 in Go?
我正在从 Postgres DB 扫描一个 int 数组,它 returning 为 []uint8
。我在 []int64
中需要它们,如何将它们转换为 []int64
或者如何从数据库 return 中将它们转换为 []int64
?在我的查询中,我选择使用 Postgres 中的 Array 函数:Array(col1)
where col1 is serial.
我得到的错误是:
unsupported Scan, storing driver.Value type []uint8 into type []int64
如果您使用 github.com/lib/pq
,只需使用 Int64Array
。
col1arr := []int64{}
arr := pq.Int64Array{}
err := rows.Scan(&arr)
// ...
col1arr = []int64(arr)
我正在从 Postgres DB 扫描一个 int 数组,它 returning 为 []uint8
。我在 []int64
中需要它们,如何将它们转换为 []int64
或者如何从数据库 return 中将它们转换为 []int64
?在我的查询中,我选择使用 Postgres 中的 Array 函数:Array(col1)
where col1 is serial.
我得到的错误是:
unsupported Scan, storing driver.Value type []uint8 into type []int64
如果您使用 github.com/lib/pq
,只需使用 Int64Array
。
col1arr := []int64{}
arr := pq.Int64Array{}
err := rows.Scan(&arr)
// ...
col1arr = []int64(arr)