我正在尝试在Perl中创建一个数据库,但它一直试图让我要求使用数据库。 这是我的代码:
my @db_months = qw(JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC);
foreach my $db_month (@db_months)
{
## create db
my $db_name = $db_month.$Year;
my $dbh = DBI->connect($dns, $user, $password) or die "Unable to connect: $DBI::errstr\n";
my $row = $dbh->do("CREATE DATABASE '".$db_name."' DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;");
$dbh->disconnect();
}
请帮忙。
答案 0 :(得分:2)
只需省略database=$database;
:
$dbh = DBI->connect("DBI:mysql:host=$host;port=$port", $user, $pw);
$dbh->do("create database test") or die "Cannot create database \n ";
答案 1 :(得分:1)
知道哪条线路出错以及错误究竟是什么确实很有帮助。
尝试在数据库名称周围使用反引号(`)而不是单引号(')...
答案 2 :(得分:0)
可以使用server administration function DBD::mysql
:
my $rc = $dbh->func( 'createdb', $db_name, 'admin' );