如何从 Perl 脚本创建 MySQL 数据库?

发布于 2024-10-17 13:34:39 字数 488 浏览 5 评论 0 原文

我正在尝试在 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(); 
}

请帮忙。

I'm trying to create a database in Perl but it keeps trying to ask me for a database to use.
Here's my code:

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(); 
}

Please help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

疾风者 2024-10-24 13:34:39

只需省略database=$database;

$dbh = DBI->connect("DBI:mysql:host=$host;port=$port", $user, $pw);
$dbh->do("create database test") or die "Cannot create database \n ";

Just simply omit the database=$database;:

$dbh = DBI->connect("DBI:mysql:host=$host;port=$port", $user, $pw);
$dbh->do("create database test") or die "Cannot create database \n ";
执着的年纪 2024-10-24 13:34:39

了解哪一行出现错误以及错误到底是什么确实很有帮助。

尝试在数据库名称周围使用反引号 (`) 而不是单引号 (')...

It really helps to know which line is giving an error and what precisely the error is.

Try using backticks (`) instead of single quotes (') around the database name...

不寐倦长更 2024-10-24 13:34:39

服务器管理功能 .cpan.org/perldoc?DBD%3a%3amysql" rel="nofollow">DBD::mysql 可以使用:

my $rc = $dbh->func( 'createdb', $db_name, 'admin' );

The server administration function of DBD::mysql can be used:

my $rc = $dbh->func( 'createdb', $db_name, 'admin' );
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文