sql - 为什么 QueryRow().Scan() 在表中不为空时返回空字符串?
问题描述
我正在尝试从 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
解决我的问题。
推荐阅读
- fft - fft 输出显示出意外的对称性
- java - 这个 Python 列表的等价物在 Java 中是什么样的?
- c# - 为什么 Ruby 套接字服务器可以与其他 Ruby 套接字客户端而不是 C# 套接字客户端一起工作?
- java - Reactor Mono - 执行并行任务
- mysql - tableadapter 不删除以编程方式删除的数据表行
- php - 如何构建一个查询,通过交易历史提取用户拥有的所有当前合约
- php - PHP Regex - 如何识别和替换大于/小于符号中的关键字?
- javascript - 仅当“onmousedown”事件被激活时才激活“onmousemove”事件
- python - 如何在 ModelForm 中删除此错误消息?
- javascript - 设置 vuetify 扩展面板组件的 max-width