查询数据库并查看返回结果
欢迎各位小伙伴来到编程网,相聚于此都是缘哈哈哈!今天我给大家带来《查询数据库并查看返回结果》,这篇文章主要讲到等等知识,如果你对Golang相关的知识非常感兴趣或者正在自学,都可以关注我,我会持续更新相关文章!当然,有什么建议也欢迎在评论留言提出!一起学习!
我需要检查我的查询返回 true 还是 false。如果它返回 false,我希望它出错。这是我的代码:
func (dr *dbrepo) checkIfUnique(datacenterstring) error {
statement := `select exists(select 1 from source where datacenter = $3)`
_, checkIfExists := dr.db.Query(statement)
if checkIfExists != nil {
log.Print("Error is not unique", checkIfExists)
return checkIfExists
}
return nil
}
问题是:我想我需要将 checkifexists
从行转换为布尔值,然后查看它是 true 还是 false。但我不确定如何做到这一点。有任何想法吗?有更好的方法吗?
解决方案
query()
不返回 true 或 false。它返回两个值:*rows
和 error
。
func (db *db) query(query string, args ...interface{}) (*rows, error) {
...
}
在您的情况下: checkifexists
是错误。通过此错误,您已经可以判断查询是成功还是失败。就像你做的那样:
if checkIfExists != nil {
return checkIfExists
}
如果您想要更多信息(例如查询检索到的行),则需要将 _
替换为变量。我们将其命名为 rows
,然后使用 rows.scan()
将列中的数据复制到目标。有关详细信息,请参阅 database/sql
docs。
今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注编程网公众号,一起学习编程~
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341