gpt4 book ai didi

go - 使用 Scan 将数据库值强制转换为特定类型

转载 作者:数据小太阳 更新时间:2023-10-29 03:23:31 25 4
gpt4 key购买 nike

我正在尝试使用 github.com/jackc/pgx 将从 Postgres 检索到的 UUID 读取到 uuid.UUID 类型的变量中(来自 github.com/google/uuid 包)。

示例代码可以是:

var dbId = uuid.UUID 
err = db.Pool.QueryRow("SELECT id FROM users WHERE objectname = $1;", objectUUID.String()).Scan(&dbId)
if err != nil {
log.Printf("Failed to fetch from database: %v", err)
return
}

快速修复是将 dbId 存储在一个临时变量中,然后将所述临时变量转换为正确的类型,但我觉得有更好或更惯用的方法来做到这一点。

我得到的错误是:

2018/02/12 07:09:18 handlers.go:187: Failed to fetch from database: can't scan into dest[1]: cannot assign &{[127 122 68 237 130 120 65 78 159 189 9 188 27 48 117 88] 2} into *uuid.UUID

最佳答案

错误表明您正在尝试扫描指向 UUID 指针的结构指针。该结构定义为 here .所以基本上你应该使用这个结构并将它扫描到那个结构中,然后将结构中的字节数组转换为你正在使用的任何 UUID 类型。

关于go - 使用 Scan 将数据库值强制转换为特定类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48741255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com