当前位置: 首页 > 知识库问答 >
问题:

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

祁远
2023-03-14

我尝试使用官方的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查询的正确方法吗?

共有1个答案

韦星文
2023-03-14

谢谢你的提问!

我已经和团队谈过了,我们有两个选择给你。这里是第一个:

  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)
 }

我希望这有帮助!如果没有-让我知道,我们会再调查一次。

 类似资料:
  • 使用类似SQL的关键字在Tarantool DB中进行查询的正确方法是什么?例如:

  • 我一直在使用关系数据库,最近决定将性能关键服务从SQL服务器迁移到Tarantool,希望利用内存中的快速搜索和处理。在计划迁移时,我有几个问题。 我有一个包含大约一百万条记录的表,其中包含定价信息,这意味着我主要处理的是数字和UUID。首先,我需要运行一个包含多个条件的select来获取数据的子集,如 Q1:在Lua中运行这样一个查询的策略是什么?我是为谓词中的每个字段创建索引,还是可以使用一个

  • 如果表已经存在,如何检查TarantoolSQL?

  • 在AS400中,我如何对字段执行算术运算(如,-)。 对于查询,在德语中获取以下错误msg"[IBM][System i Access ODBC-Treiber][DB2 für i5/OS]SQL0104-Token 有人能告诉我我的sql查询有什么问题吗?

  • 我们知道,通过指定排序选项,字符串Tarantool索引可以不区分大小写:。例如。: 现在我们可以执行不区分大小写的查询: 但是如何使用SQL呢?这不起作用: 这也不是: 有一个肮脏的把戏,性能很差(完全扫描)。我们不想要它,是吗? 最后,我们还有一个解决办法: 但问题是,它是否使用索引?如果没有索引,它也可以工作。。。

  • 问题内容: 我正在尝试使用mybatis运行一个简单的sql查询,但是它给了我以下异常 我的UserMapper.xml是 我的UserMapper是 我试图在我的LoginController中访问它 我的spring-servlet.xml文件是 我不知道为什么会出现此错误。 问题答案: 看看错误 看来myBatis找不到您的查询。那可能是因为找不到您的xml映射。它应该符合您的配置: 在项目