事務は何ですか.トランザクションの使用

1066 ワード

私たちがプログラムを書くとき、2つの条件が同時に実行され、同時に成立しなければ後の操作を継続できないことがよくありますが、同時に成功することを保証することはできません.1つの実行が正しい場合、1つのエラーがあれば、実行されたものは未実行の状態に戻り、トランザクションの助けが必要です.
簡単な例をあげましょう
      php PDO     

try{
    //1.   PDO  
    $pdo = new PDO("mysql:host=localhost;dbname=test","root","root",array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));
    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    //1.    
    $pdo->beginTransaction();
    //2.  sql  
    $pdo->exec("insert into t1(username,password,rtime,rip) values('shiwu2','shiwu2','456456456','456456456')");
    $pdo->exec("insert into t2(username,password,rtime,rip) values('shiwu2',shiwu2','456456456','456456456')");
    //    
    $pdo->commit();//     commit   ,       sql      。
    //PDO   PDOStatement  PDOException
}catch(PDOException $e){
    echo "aaaaaaaaaa";
    //    
    $pdo->rollBack();//     rollback   ,           sql      ,         sql     。
}