!/usr/local/bin/perl use strict; use DBI; my $dbh = DBI->connect('dbi:mysql:hoge', 'root', ''); my $sth = $dbh->prepare(<<SQL); create temporary table hoge (id int); drop table hoge; SQL $sth->execute(); $sth->finish;
こういうふうに、 ; で区切って複数の SQL をかいておいて一度に実行させることはできないようだ。
http://search.cpan.org/~timb/DBI-1.607/DBI.pm#prepare
Some command-line SQL tools use statement terminators, like a semicolon, to indicate the end of a statement. Such terminators should not normally be used with the DBI.
ここにかいてあるこれだろうか。