登录
首页 >  Golang >  Go问答

从 Go 在 Tarantool 中运行 SQL 查询是静默的(没有错误)

来源:stackoverflow

时间:2024-04-18 23:30:39 229浏览 收藏

一分耕耘,一分收获!既然都打开这篇《从 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 查询是静默的(没有错误)》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

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