Rumah >pembangunan bahagian belakang >Golang >Ralat imbasan pada indeks lajur 8, nama 'direplikasi': Imbasan tidak disokong, menyimpan pemacu. Nilai jenis uint8 sebagai jenis **bool

Ralat imbasan pada indeks lajur 8, nama 'direplikasi': Imbasan tidak disokong, menyimpan pemacu. Nilai jenis uint8 sebagai jenis **bool

PHPz
PHPzke hadapan
2024-02-12 15:15:07930semak imbas

列索引 8 上的扫描错误,名称“replicated”:不支持扫描,将 driver.Value 类型 uint8 存储为 **bool 类型

Kandungan soalan

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!

Penyelesaian

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!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam