首页 > 解决方案 > 扫描 pgx 行以获取标准输出

问题描述

我刚开始使用 golang/pgx,我需要扫描所有列以将它们发送到标准输出。显然,在编译时没有已知的模式,也没有要扫描的结构。我有没有机会用 pgx 或任何其他 golang/pgsql 驱动程序来做到这一点?

标签: sqlpostgresqlgopgx

解决方案


迟到的回应:刚开始使用 pgx

一旦你调用了 rows.Next() 并检查它是否为真,你可以执行如下操作

for rows.Next() {
    columnValues, _ := rows.Values()
    for i, v := range columnValues {
        fmt.Printf("Type of value at %v=%T, value=%v | ", i, v, v)
    }
}

这会将行中的列值转换为列范围并打印的列值。

在我的情况下,它只有一行打印

Type of value at 0=int32, value=16 | Type of value at 1=string, value=fsdfsfsad | Type of value at 2=string, value=something | Type of value at 3=time.Time, value=2020-12-27 05:12:55.995975 +0000 UTC | 

推荐阅读