使用Ruby DBI,如何检查记录集是否为空? (没有迭代它或进行计数查询)
sth = dbh.prepare("select * from things WHERE created_at > '#{start}'")
sth.execute
答案 0 :(得分:1)
您可以随时询问结果对象:
res = sth.execute
res.num_rows
但是,操作必须下拉所有匹配的记录,因此如果您只需要计数,则可能需要直接选择。
逃避您的SQL 。你不能只在那里放任意字符串。这样更好:
sth = dbh.prepare("select * from things WHERE created_at > '%s'" % sth.escape_string(start))