perl dbi 控制事务

原创 2015年11月19日 19:49:36
<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 错误处理属性,以便这些错误用一条错误消息就能自动地终止相应的脚本。



                    

相关文章推荐

mysql DBI 事务控制

事务; 事务是任何健壮数据库系统的基本组成,它们 防止错误和数据库腐败通过确保有关数据的改变是原子发生的(不可分割的,要么所有要么什么都不做) 这个章节应用于数据库支持事务和 AutoCommi...

perl DBI模块和DBD-mysql模块安装

首先,来一段代码来自NinGoo的检测系统中已经安装的Perl模块: [root@rh65sql1 tmp]# cat check_module.pl #!/usr/bin/perl use Ex...

Perl DBI

1.描述 Perl DBI是一个Perl语言的数据库访问API。DBI定义了一系列函数,变量和惯例提供一个独立于具体数据库的一致性的数据库接口。记住DBI仅仅是一个接口是很重要的。在应用程序和一个/...
  • Janepen
  • Janepen
  • 2012年01月05日 09:06
  • 718

perl DBI使用详解

perl DBI使用详解 使用DBI的方法: ---------------------------------------...

perl的异常处理die、warn、eval函数--DBI的RaiseError

在很多情况下,系统调用可能会失败;例如,尝试打开不存在的文件,或者删除某个仍含有文件的目录,或者尝试读取没有读权限的文件。在前面的示例中,我们已经用到了die函数,本节将 详细讨论有关错误处理和错误处...

遇到的问题----DBI的ODBC报错运行perl脚本时报错:[unixODBC][Driver Manager]Data source name not found, and no default

我查看了 /usr/local/unixODBC下的 etc/odbc.ini里面是有配置记录的 而且 用[root@localhost unixODBC]# bin/isql -v zzq...

Perl中DBI、DBD::mysql模块的安装和可能出现的错误解决方法

使用的软件版本 DBI-1.604.tar.gz DBD-mysql-4.006.tar.gz 建议使用以上版本搭配,否则可能连接mysql错误 一、DBI的安装  wget http:...

使用DBI(perl) 实现文本文件导入导出mysql

使用perl脚本将格式化的文本文件数据导入mysql,也可以将mysql数据导出到文本文件...

perl DBI,DBD-mysql配置纲要

Perl DBI 是一個讓 Perl 存取各種不同資料庫的套件,因為在 Linux 上使用 MySQL 的人也比較多,加上常見的 Blog 寫作軟體 Movable 也是採用 Perl ,習慣 MyS...

Perl DBI 数据库操作

本次会议将教你如何使用PERL访问Oracle数据库和其他数据库。 Oraperl模块以访问Oracle,请查看Oraperl手册。 DBI模块使用通用的方式来访问数据库。在本章中,我...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:perl dbi 控制事务
举报原因:
原因补充:

(最多只允许输入30个字)