zoukankan      html  css  js  c++  java
  • perl dbi 控制事务

    <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
    ";
        $dbh->do("insert into t1 values(3)");   
        print "22222222
    ";
        $dbh->do("insert into t1 values(4)");  
        print "33333333
    ";
        $dbh->do("insert into t1 values(5)"); 
        print "444444444
    ";
        $dbh->do("insert into t1 values(6)"); 
        print "555555555
    ";
        $dbh->do("insert into t1 values(6)"); 
        print "66666666
    ";
        #$dbh->do("insert into t1 values(1)");   
    $dbh->commit();
         };
    if( $@ ) {
        warn "Database error: $DBI::errstr
    ";
        $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 错误处理属性,以便这些错误用一条错误消息就能自动地终止相应的脚本。


    
                                        
    
  • 相关阅读:
    软件工程课程总结
    c#代码分析
    运用visual studio进行简单的单元测试
    安装visual studio过程
    忙着,快乐着
    软件工程心得
    session
    XML
    期末团队评价
    黄金点游戏
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351199.html
Copyright © 2011-2022 走看看