为了账号安全,请及时绑定邮箱和手机立即绑定

当表中不为空时,为什么 QueryRow().Scan() 返回空字符串?

当表中不为空时,为什么 QueryRow().Scan() 返回空字符串?

Go
慕田峪4524236 2023-07-31 16:44:33
我正在尝试从 PostgreSQL 数据库表中查询一行。func getPrefix(serverID int64, db *sql.DB) string {    var prefix string    err := db.QueryRow("SELECT prefix FROM servers WHERE serverid = 1234").Scan(&prefix)    if err != nil {        fmt.Println(err.Error())    }    spew.Dump(prefix)    fmt.Println("Prefix is " + prefix)    return prefix}显然,该变量prefix是一个空字符串,但是当我在数据库中查询它时,它不为空You are now connected to database "mewbot" as user "postgres".mewbot=# select * from servers; serverid | prefix----------+--------     1234 | ;(1 row)mewbot=#我的问题是,为什么它应该返回空字符串,而应该; 进行所有检查;我已确保我已连接到同一个数据库等
查看完整描述

1 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

显然它不起作用,因为我的服务器上禁用了 SSL 模式,但我试图在没有指定它被禁用的情况下进行连接。

更改postgres://postgres:7890@localhost:5432/mewbotpostgres://postgres:7890@localhost:5432/mewbot?sslmode=disable解决我的问题。


查看完整回答
反对 回复 2023-07-31
  • 1 回答
  • 0 关注
  • 87 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信