gpt4 book ai didi

sql - Golang SQL 扫描结构奇怪

转载 作者:IT王子 更新时间:2023-10-29 02:32:11 27 4
gpt4 key购买 nike

请想象一个这样的表:

FirstName, LastName, Fee, Opt_Out
String String Int TinyInt(4)

这样的结构:

type Dude struct {
Firstname string
Lastname string
Fee int
Opt_out int
}

简而言之:我正在使用数据库/sql 毫无问题地扫描结构,除非涉及到 TinyInt。

err = rows.Scan(&firstname, &lastname, &fee, &opt_out)

扫描之后,在为我的结构赋值之前,我

fmt.PrintLn(Opt_out)

并且它们总是返回零值。如果我将查询直接插入到 sql server 中,我会得到我期望的正确的 1 和 0。

我还尝试将结构中“Opt_out”的类型更改为字符串,并尝试通过查询本身进行转换

IF(Opt_out=1,"yes","no") 

并且发生了类似的事情,在 sql 中运行的查询返回预期结果,但 golang 返回空值。

我画的是空白。有任何想法吗?

最佳答案

哎呀。好的,这显然与 tinyint 本身无关。

数据库中的“费用”列中有空值,预先存在的查询设置为用空字符串替换空值。

IFNULL(fee,'')

看起来 sql 驱动程序在看到这些时非常安静地“崩溃”了,然后就放弃了处理所有事情。

我的修复是用 IFNULL(fee,0) 修改查询,然后一切都恢复了生机。

谢谢 RayfenWindspear!如果没有您的反馈,我不会付出额外的努力。

关于sql - Golang SQL 扫描结构奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46936936/

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