ホームページ  >  記事  >  バックエンド開発  >  列インデックス 8 でのスキャン エラー、名前「レプリケート」: スキャンはサポートされていません。ドライバーを格納しています。uint8 型の値を **bool 型として保存しています

列インデックス 8 でのスキャン エラー、名前「レプリケート」: スキャンはサポートされていません。ドライバーを格納しています。uint8 型の値を **bool 型として保存しています

PHPz
PHPz転載
2024-02-12 15:15:07849ブラウズ

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

質問内容

私は sqlx を使用して PostgreSQL boolan[] を Golang 構造に選択します。ターゲット構造の値は []*bool です。

リーリー

返されるエラーは次のとおりです: sql: 列インデックス 3 でのスキャン エラー、名前「レプリケート」: スキャンはサポートされていません、ドライバー。値の型 []uint8 は型 *[]*bool# として保存されます

## いろいろ調べてみましたが、まだ解決策が見つかりません。助けていただければ幸いです。

解決策

.Scanner インターフェイスを実装するコンテンツのみをスキャンできます。構造体は として定義できます。 リーリー

ここで、

pq.BoolArray[]bool ですが、本当に []*bool にする必要がある場合は、独自の型を作成できます リーリー

次に、ここからコードをコピーします

https://github. com/lib/pq/blob/2a217b94f5ccd3de31aec4152a541b9ff64bed05/array.go#L76 必要に応じて変更します

以上が列インデックス 8 でのスキャン エラー、名前「レプリケート」: スキャンはサポートされていません。ドライバーを格納しています。uint8 型の値を **bool 型として保存していますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。