zoukankan      html  css  js  c++  java
  • mysql事务处理

    事务处理能保证所有的sql操作一次性完成或回滚,mysql默认的MyISAM表类型是不支持事务处理的,如果需要做事务处理,需要把表类型换成InnoDB

    <?php 
    $dsn='mysql:host=localhost;dbname=mssc';
    $user='root';
    $password='';
    $orderno='111';
    $orderno1='222';
    try {
        $dbh=new PDO($dsn,$user,$password);
        $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 
        $dbh->beginTransaction();
        $sql="INSERT INTO onethink_order(order_no) VALUES(:orderno)";
        $stmt=$dbh->prepare($sql);
        $stmt->bindParam(':orderno',$orderno);
        $stmt->execute();
        $sql="INSERT INTO onethink_order(order_no) VALUES(:orderno1)";
        $stmt=$dbh->prepare($sql);
        $stmt->bindParam(':orderno1',$orderno1);
        $stmt->execute();
        $dbh->commit();
    } catch (PDOException $e) {
        $dbh->rollBack();
        echo 'SQL Query:'.$sql.'</br>';
        echo 'Connection failed:'.$e->getMessage();
    }
     ?>

    如果由于某种原因导致第二条sql没有执行,那整个操作将回滚到之前状态

  • 相关阅读:
    VBA.replace替换单引号或双引号
    读取文件
    UPDATE
    alter update
    SQL日期格式
    python map的用法
    python os模块用法
    python re.I compile search
    python 正则匹配
    通过list中值得名称查询索引号
  • 原文地址:https://www.cnblogs.com/hltswd/p/6241596.html
Copyright © 2011-2022 走看看