テーブルを作成してテーブルに挿入する 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.
誰でも助けてもらえますか?