Ruby,MySQL2:检查结果是否为空

时间:2013-07-24 13:26:11

标签: mysql ruby mysql2

我在Ruby中使用MySQL2来查询数据库。检查查询结果是否为空的直接方法是什么? 代码如下:

require 'mysql2'
client = Mysql2::Client.new(:host => "localhost", :username => "root")
results = client.query("SELECT * FROM users WHERE group='githubbers'")

2 个答案:

答案 0 :(得分:9)

Mysql2文档的确很差。但是通过检查results的类型,您会注意到它是Mysql2::Result,其中包含3种方法。您感兴趣的是count(或别名size),它将返回结果的行数。

从这里您可以轻松检查它是0

(results.count == 0)

或者,您可以打开Mysql2::Result类并自行添加方法empty?

class Mysql2::Result
    def empty?
        (count == 0)
    end
end

然后你可以这样做:

results.empty?

答案 1 :(得分:3)

0 == results.size
如果true为空,

将返回results。 AFAIK没有直接的方法(例如Array#empty?),但你可以修补它。