gpt4 book ai didi

sql - 为什么QueryRow()。Scan()在表中不为空时返回空字符串?

转载 作者:行者123 更新时间:2023-12-01 22:37:26 27 4
gpt4 key购买 nike

我正在尝试从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=#

我的问题是,为什么在应为 ;时返回空字符串
所有检查;我确保我已连接到相同的数据库等

最佳答案

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

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

关于sql - 为什么QueryRow()。Scan()在表中不为空时返回空字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58672223/

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