直接上两次无效代码:

     DB::beginTransaction();
    $sql1 = DB::table('user')->delete($id);
    $sql2 =  DB::table('user2')->where('id', $id)->update(['state' => 1]);
    if($sql1 !=0 and $sql2 != 0){
         DB::commit();
    }else{
        DB::rollback();
    }


    DB::transaction(function (){
        DB::table('user')->delete($id);
        DB::table('user2')->where('id', $id)->update(['state' => 1]);
    });

两次测试结果 均是 能够删除数据…….肯定就是又有问题….各种查询 各种找原因.

    后来发现mysql表数据要实现事务回滚功能必须要在选项里引擎需要设置为innodb

测试….完美解决回滚失败问题