以下代码似乎太多了,因为获得单个计数值.
有没有更好的推荐方式使用纯DBI获取单个COUNT值?
有没有更好的推荐方式使用纯DBI获取单个COUNT值?
sub get_count { my $sth = $dbh->prepare("SELECT COUNT(*) FROM table WHERE..."); $sth->execute( @params ); my $($count) = $sth->fetchrow_array; $sth->finish; return $count; }
这个更短,但我还有两个声明.
sub get_count_2 { my $ar = $dbh->selectall_arrayref("SELECT ...",undef,@params) return $ar->[0][0]; }
解决方法
容易做到一行,没有额外的变量:
$count = $dbh->selectrow_array('SELECT count(*) FROM table WHERE...',@params);