我的 Postgres 数据库中有一个标签列,它是一个字符串数组。
我在 golang 的结构中将其定义为:
type device struct {
deviceID string
macAddress sql.NullString
name sql.NullString
agentID sql.NullString
groupType sql.NullString
tags []string
normalized bool
normalizedName string
normalizedMacAddress string
}
Run Code Online (Sandbox Code Playgroud)
当我对行运行扫描时:
err = rows.Scan(&d.deviceID, &d.name, &d.tags, &d.macAddress, &d.agentID, &d.groupType)
if err != nil {
return nil, err
}
Run Code Online (Sandbox Code Playgroud)
它返回以下错误:
"sql: Scan error on column index 2, name "tags": unsupported Scan...+55 more"
Run Code Online (Sandbox Code Playgroud)
那么,为了成为可接受的类型,字符串数组需要什么样的包装器呢?
扫描数组时使用pq.Array :
err = rows.Scan(&d.deviceID, &d.name, pq.Array(&d.tags), &d.macAddress, &d.agentID, &d.groupType)
if err != nil {
return nil, err
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
287 次 |
| 最近记录: |