Rumah >pembangunan bahagian belakang >Golang >Ralat imbasan pada indeks lajur 8, nama 'direplikasi': Imbasan tidak disokong, menyimpan pemacu. Nilai jenis uint8 sebagai jenis **bool
Saya menggunakan sqlx untuk memilih PostgreSQL boolan[] ke dalam struktur Golang, dengan nilai struktur sasaran ialah []*bool.
type App struct { ApplicationID string `db:"application_id"` Name string `db:"name"` Description string `db:"description"` Replicated []*bool `db:"replicated"` } var apps []App err := trx.Select(&apps, "Select * From my_function()")
Ralat yang dikembalikan ialah: sql: 列索引 3 上扫描错误,名称“replicated”: 不支持扫描,将 driver.Value 类型 []uint8 存储为类型 *[]*bool
Saya telah melihat sekeliling tetapi belum menemui jalan penyelesaian. Sebarang bantuan akan sangat dihargai!
Anda hanya boleh mengimbas kandungan yang melaksanakan antara muka .Scanner
. Anda boleh menentukan struktur sebagai
import "github.com/lib/pq" type App struct { ApplicationID string `db:"application_id"` Name string `db:"name"` Description string `db:"description"` Replicated pq.BoolArray `db:"replicated"` }
Di antaranya pq.BoolArray
是 []bool
,或者如果您确实需要它是 []*bool
, anda boleh mencipta jenis anda sendiri
type BoolArray []*bool
Kemudian salin kod dari sini https://github. com/lib/pq/blob/2a217b94f5ccd3de31aec4152a541b9ff64bed05/array.go#L76 dan ubah suai mengikut keperluan
Atas ialah kandungan terperinci Ralat imbasan pada indeks lajur 8, nama 'direplikasi': Imbasan tidak disokong, menyimpan pemacu. Nilai jenis uint8 sebagai jenis **bool. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!