mysql2 MULTI_STATEMENTS和错误报告

时间:2013-04-18 14:30:26

标签: ruby mysql2

我使用对mysql2客户端的单次调用提交多个数据库查询。客户端使用Mysql2::Client::MULTI_STATEMENTS标志进行配置。

如果其中一个查询有语法错误,我希望调用失败,但目前它成功,除非第一个语句中出现错误。

我的测试代码如下。有没有办法在仍然使用多语句查询时完成此操作(而不是单独发送每个查询)?

require 'mysql2/em'

def database
  @database ||= Mysql2::EM::Client.new(flags: Mysql2::Client::MULTI_STATEMENTS)
end

EM.run {
  database.query('select rand(1);bad syntax;').callback {|rs|
    rs.each {|r|
      p r
    }
    EM.stop
  }.errback {|e|
    p e
    EM.stop
  }
}

0 个答案:

没有答案