douguxun6866 2019-03-18 17:21
浏览 78
已采纳

func(rs * Rows)扫描以处理数组字符串的列类型

I have a column within my Postgres db for tags which is an array of strings.

I have it defined within a struct in my golang as:

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
}

When I run the scan on the rows as such:

            err = rows.Scan(&d.deviceID, &d.name, &d.tags, &d.macAddress, &d.agentID, &d.groupType)
        if err != nil {
            return nil, err
        }

It returns the following error:

"sql: Scan error on column index 2, name "tags": unsupported Scan...+55 more"

So what kinda of wrapper do I need for a string array in order to be an acceptable type?

  • 写回答

1条回答 默认 最新

  • doutou1922 2019-03-18 17:25
    关注

    Use pq.Array when scanning an array:

        err = rows.Scan(&d.deviceID, &d.name, pq.Array(&d.tags), &d.macAddress, &d.agentID, &d.groupType)
        if err != nil {
            return nil, err
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?