登录
首页 >  Golang >  Go问答

查询数据库并查看返回结果

来源:stackoverflow

时间:2024-03-28 22:18:30 103浏览 收藏

欢迎各位小伙伴来到golang学习网,相聚于此都是缘哈哈哈!今天我给大家带来《查询数据库并查看返回结果》,这篇文章主要讲到等等知识,如果你对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。它返回两个值:*rowserror

func (db *db) query(query string, args ...interface{}) (*rows, error) {
    ...
}

在您的情况下: checkifexists 是错误。通过此错误,您已经可以判断查询是成功还是失败。就像你做的那样:

if checkIfExists != nil {
    return checkIfExists
}

如果您想要更多信息(例如查询检索到的行),则需要将 _ 替换为变量。我们将其命名为 rows,然后使用 rows.scan() 将列中的数据复制到目标。有关详细信息,请参阅 database/sql docs

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>