2016-12-01 2 views
0

Ich scanne ein Array von Int von Postgres DB und es wird als []uint8 zurückgegeben. Ich brauche sie in []int64, wie kann ich sie in []int64 konvertieren oder wie kann ich sie aus der DB als []int64 zurückgeben? In meiner Abfrage wähle ich die Array-Funktion in Postgres: Array(col1), wobei Spalte1 seriell ist.Wie scannt SQL Array zu [] int64 in Go?

Der Fehler Ich erhalte ist:

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

Antwort

3

Wenn Sie github.com/lib/pq verwenden, nur Int64Array verwenden.

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

kann ich dann von pg.Int64Array zu int64 analysieren? – user6638204

+0

@ user6638204 Siehe Bearbeiten. –

+0

danke das ist was ich brauchte, aber ich bekomme einen Fehler: undefined: pq.Int64Array. Ich habe die Bibliothek importiert – user6638204