我有 5 个 .sql 脚本来创建表并插入到表中。. 我想将它们作为 PERL 中的事务一起运行。我在 Google 和 SO 中搜索过它,但只有我能找到关于使用批处理脚本运行脚本的信息。我不知道如何使用 PERL DBI 作为事务一起运行脚本。任何人都可以请帮忙。我是 perl 和 mysql 的新手,我不知道该怎么做。
这就是我根据 Barmar 的建议尝试做的事情:
#!/usr/bin/perl
use strict;
use warnings;
use DBI;
use Data::Dumper;
my $user="root";
my $password="M3m01r!@#";
my $db="DBI:$driver:database=$database";
my $dbh = DBI->connect("DBI:mysql:database=testdb;mysql_socket=/tmp/mysql.sock",$user,$password) or die "could not connect $DBI::errstr\n";
my $st = $dbh->prepare("mysql -u root -p < rr.sql") or die "$DBI::errstr\n";
$st->execute();
但它会抛出这个错误
DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql -u root -p < rr.sql' at line 1 at dbi.pl line 15.
有人可以帮忙吗?