2016-12-01 6 views
0

Я просматриваю массив int из DB Postgres и возвращается как []uint8. Я нуждаюсь в них в []int64, как я могу преобразовать их в []int64 или как я могу вернуть их из базы данных как []int64? В моем запросе я выбираю функцию Array в Postgres: Array(col1), где col1 является серийным.Как сканировать SQL-массив на [] int64 в Go?

Ошибка я получаю:

unsupported Scan, storing driver.Value type []uint8 into type []int64 

ответ

3

Если вы используете github.com/lib/pq, просто использовать Int64Array.

col1arr := []int64{} 
arr := pq.Int64Array{} 
err := rows.Scan(&arr) 
// ... 
col1arr = []int64(arr) 
+0

может ли я разобрать с pg.Int64Array на int64? – user6638204

+0

@ user6638204 См. Edit. –

+0

спасибо, что мне нужно, но я получаю сообщение об ошибке: undefined: pq.Int64Array. Я импортировал библиотеку – user6638204