版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/qq1355541448/article/details/32314403

    /**

      *thinkphp数据库的事务回滚样例

      *这一般用在多表操作,比方:

(1)订单表和其它订单关联信息。删除订单同一时候也要把订单关联表中的信息删掉,假设说删除了订单表结果在删除订单关联信息表时出现故障,也就是说。订单的关联信息没有删掉,这时就会出现信息不正确应,甚至信息的冗余,这时採用事务回滚。假设一个没有删掉,之前的也要回滚,保持记录的相应统一

(2)银行打钱。假设A给B打钱,给Binsert成功了,可是Adelete失败。这时银行就亏大了,明确?此时就要回滚,假设两者当中一者不成立,则都复位

     */
    public function rollback(){
        $M=M("Rollback");
        $M->startTrans();//开启事务
        $array=array("name"=>"hehe","sex"=>"men");
        if($M->add($array) && $M->where("id in (14,15)")->delete())
        {
          echo "操作成功!";
          $M->commit();//提交事务成功
        }else{
          echo "操作失败!";
          $M->rollback();//事务有错回滚
        }

    }

读过的基本好书 推荐给大家,还有优惠券能够领取:
寄语:在学习方面一定要舍得花钱~ 加油~
-----------------------------------

thinkphp curd的事务回滚 一看就会的更多相关文章

  1. ThinkPHP 实现数据库事务回滚示例代码

    ThinkPHP提供了数据库的事务支持,如果要在应用逻辑中使用事务,可以参考下面的方法:   启动事务: $User->startTrans(); 提交事务: $User->commit( ...

  2. ThinkPHP之中的事务回滚

    小李子 获取thinkphp之中执行的SQL: 1.用调试模式的追踪trace功能: 2.代码: $user_type=D('user_type'); $datass=array('school_id ...

  3. ThinkPHP 事务处理 (事务回滚) 、异常处理

    $tran_result = true;                $trans = M();                $trans->startTrans(); try {      ...

  4. ThinkPHP实现事务回滚示例代码

    ThinkPHP的事务回滚示例如下: ? 1 2 3 4 5 6 7 8 9 10 $m=D('YourModel');//或者是M(); $m2=D('YouModel2'); $m->sta ...

  5. ThinkPHP实现事务回滚示例代码(附加:PDO的事务处理)

    ThinkPHP的事务回滚示例如下: $m=D('YourModel');//或者是M(); $m2=D('YouModel2'); $m->startTrans();//在第一个模型里启用就可 ...

  6. SqlServer事务回滚(2)

    SQL Server 2008中SQL应用系列--目录索引 SQL事务 一.事务概念    事务是一种机制.是一种操作序列,它包含了一组数据库操作命令,这组命令要么全部执行,要么全部不执行.因此事务是 ...

  7. jfinal 基本应用 --事务回滚

    事务回滚 1.当时需要用到事务回滚,但是看到网上只有问题,没有真实的到底怎么用法. 2.我看了一下文档,结合了网上的大神的博客. 第一种方法: Db.tx(new IAtom(){ @Override ...

  8. 关于事务回滚,rollback tran到底要不要写?

    关于事务回滚,有些不明白,不知道rollback tran在什么时候用. begin tran update 表1 update 表2 commit tran 这种写法,在更新表1或表2时出错,事务会 ...

  9. 为什么mysql事务回滚后, 自增ID依然自增

    事务回滚后,自增ID仍然增加,回滚后,自增ID仍然增加.比如当前ID是7,插入一条数据后,又回滚了.然后你再插入一条数据,此时插入成功,这时候你的ID不是8,而是9.因为虽然你之前插入回滚,但是ID还 ...

随机推荐

  1. php 返回上一页并刷新

    echo "<script>alert('分组已存在!');location.href='".$_SERVER["HTTP_REFERER"].&q ...

  2. 第二百七十三节,Tornado框架-文件上传

    Tornado框架-文件上传 第一.普通表单上传文件 self.request.files["fafafa"] 获取上传文件信息,参数["上传文件框的name名称&quo ...

  3. VBS 处理断开excel数据链接格式,只保留值

    最近有个项目是将一个excel压缩之后发给客户,但是由于excel数据过大,即使压缩之后仍然接近5M,因为是大批量发送数据,所以非常慢.急需要将EXCEL数据压缩. 后来我想到一个办法,就excel数 ...

  4. JQuery获取和设置select下拉框的值

    获取Select : 获取select 选中的 text : $("#sid").find("option:selected").text(); 获取selec ...

  5. jquery合并表格中相同文本的相邻单元格

    <!DOCTYPE HTML> <html> <head>   <title>Example</title>   <meta char ...

  6. 数据库存入数据后id保持不变,或者直接报错

    数据库存入数据后id保持不变,且添加的数据一直在进行覆盖 或者直接报错 数据库存入数据后id保持不变,且添加的数据一直在进行覆盖 原因是: 之前注释掉了loadimage();在该函数中含有建立新的记 ...

  7. Mongodb默认开启与关闭

    默认启动:   $ ./mongodb   默认数据保存路径:/data/db/ 默认端口:27017   修改默认路径:   --dbpath $ ./mongdb --dbpath /mongod ...

  8. [转]ASP.NET MVC 5 - 视图

    在本节中,你要去修改HelloWorldController类,使用视图模板文件,在干净利索地封装的过程中:客户端浏览器生成HTML. 您将创建一个视图模板文件,其中使用了ASP.NET MVC 3所 ...

  9. swift - SQLite数据库的使用(引用)

    SQLite轻量级数据库在移动应用中使用非常普遍,但是目前的库是C编写的,为了方便使用,对SQLite相关的操作用Swift进行了封装.这个封装代码使用了一个开源项目SQLiteDB,地址是:http ...

  10. Android弹出一项权限请求

    Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(ena ...