<pre name="code" class="sql">jrhxpt01:/root# cat dbi.pl
use DBI;
#!/usr/bin/perl
$db_name='test';
$ip='127.0.0.1';
$user="root";
$passwd="a2p13mvh";
$dbh="";
$dbh = DBI->connect("dbi:mysql:database=$db_name;host=$ip;port=3306",$user,$passwd, {
RaiseError => 1,
AutoCommit => 0
}) or die "can't connect to database ". DBI-errstr;
##Connect
eval{
$dbh->do("insert into t1 values(2)");
print "111111111\n";
$dbh->do("insert into t1 values(3)");
print "22222222\n";
$dbh->do("insert into t1 values(4)");
print "33333333\n";
$dbh->do("insert into t1 values(5)");
print "444444444\n";
$dbh->do("insert into t1 values(6)");
print "555555555\n";
$dbh->do("insert into t1 values(6)");
print "66666666\n";
#$dbh->do("insert into t1 values(1)");
$dbh->commit();
};
if( $@ ) {
warn "Database error: $DBI::errstr\n";
$dbh->rollback(); #just die if rollback is failing
}
jrhxpt01:/root# perl dbi.pl
111111111
22222222
33333333
444444444
555555555
DBD::mysql::db do failed: Duplicate entry '6' for key 't1_idx1' at dbi.pl line 25.
Database error: Duplicate entry '6' for key 't1_idx1
~
~ 启用RaiseError 错误处理属性,以便这些错误用一条错误消息就能自动地终止相应的脚本。
perl dbi 控制事务
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
perl DBI使用详解
使用DBI的方法:--------- 行,因为在与服务器进行连接时
perl dbi 句柄 数组 结果集