登录
首页 >  Golang >  Go问答

在 Golang 中使用 go-sqlmock 模拟 SQL MAX() 函数

来源:stackoverflow

时间:2024-02-17 10:21:23 191浏览 收藏

你在学习Golang相关的知识吗?本文《在 Golang 中使用 go-sqlmock 模拟 SQL MAX() 函数》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

问题内容

我希望在我的代码中模拟此查询("select max(a) from public.abc where id = %d")

我嘲笑这句话的方式是

maxofa := 1
maxofarows := sqlmock.newrows([]string{"a"}).addrow(maxofa)
suite.mock.expectquery("select max(a) from public.abc co where id = \\$1").withargs(1).willreturnrows(maxofarows)

我看到了这个错误

Error:
    Query: could not match actual sql: "select max(a) from public.abc where id = 1" with
        expected regexp "select max(a) from public.abc where id = 1"

模拟 max() 这样的 sql 函数的正确方法是什么


正确答案


我的错误是我没有将模拟查询包含在 (regexp.QuoteMeta()) 中。将查询包含在 quotemeta 中确实解决了我的问题 参考:https://pkg.go.dev/regexp#QuoteMeta

不会删除这篇文章,希望它能帮助像我这样的人。

今天关于《在 Golang 中使用 go-sqlmock 模拟 SQL MAX() 函数》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

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