当前位置: > > > > 从 Go 在 Tarantool 中运行 SQL 查询是静默的(没有错误)
来源:stackoverflow
2024-04-18 23:30:39
0浏览
收藏
一分耕耘,一分收获!既然都打开这篇《从 Go 在 Tarantool 中运行 SQL 查询是静默的(没有错误)》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新Golang相关的内容,希望对大家都有所帮助!
问题内容
我尝试使用官方 tarantool 客户端从 golang 应用程序运行 sql 查询。我知道如何做到这一点的唯一方法是使用 conn.eval
如下所示。但我没有收到任何错误。我可以删除不存在的表,插入具有重复键的行。我永远不会发现出了什么问题。
resp, err := conn.Eval("box.execute([[TRUNCATE TABLE not_exists;]])", []interface{}{}) // err is always nil // resp.Error is always empty
您能否指出出现错误的方式或运行 sql 查询的正确方式。
正确答案
感谢您的提问!
我已经与团队交谈过,我们为您提供两种选择。这是第一个:
resp, err := conn.eval("return box.execute([[truncate table \"not_exists\";]])", []interface{}{}) if len(resp.tuples()) > 1 { fmt.println("error", resp.tuples()[1]) }else{ fmt.println("result", resp.tuples()[0]) }
这是第二个:
r, err := tnt.Eval("local data, err = box.execute(...) return data or box.error(err)", []interface{}{ `TRUNCATE table "not_exists";`, }) if err != nil { log.Fatalln(err) }
希望有帮助!如果没有 – 请告诉我,我们将再次调查此问题。
今天关于《从 Go 在 Tarantool 中运行 SQL 查询是静默的(没有错误)》的内容介绍就到此结束,如果有什么疑问或者建议,可以在公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!