0

我必须使用 RoseDB 列出给定数据库的表。我知道它的mysql命令:

SHOW TABLES in DB_NAME;

如何在rose DB 中实现这一点?请帮忙

4

1 回答 1

0

这不是一个真正的 Rose::DB 特定问题。只需像通常在 DBI 中那样使用数据库句柄:

package My::DB {

    use Rose::DB;
    our @ISA = qw(Rose::DB);

    My::DB->register_db(
        domain   => 'dev',
        type     => 'main',
        driver   => 'mysql',
        ...
    );

    My::DB->default_domain('dev');
    My::DB->default_type('main');
}

use Carp; 

my $db = My::DB->new();
my $sth = $db->dbh->prepare('SHOW TABLES');

$sth->execute || croak "query failed";

while (my $row = $sth->fetchrow_arrayref) {
    print "$row->[0]\n"; 
}
于 2014-02-21T01:22:50.513 回答