ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
1.Mysql事务 Mysql事务要求,数据库的引擎必须是InnoDB 2.使用(如果中间出现一个错误,则返回原点,不会改变任何数据) 1)自动控制事物 Db::transaction(function(){ //删除一条数据 Db::table('user')->delete(1); //删除数据 Db::table('user')->delete(); }); 2)手动控制事务 方法一: //开启事务 Db::startTrans(); //事务 try{ //删除数据 $a = db('user')->delete(1); //判断是否操作成功 if(!$a){ //抛出错误信息 throw new \Exception('删除id为1的数据没有成功!'); } //删除数据2 $b = db('user')->delete(2); // 判断是否操作成功 if(!$b){ //抛出错误信息 throw new \Exception('删除id为2的数据没有成功!'); } //执行提交操作 Db::commit(); // 错误处理 }catch(\Exception $e){ //回滚事务 Db::rollback(); //获取提示信息 dump($e->getMessage()); } 手动事务方法二: //开启事务 Db::startTrans(); //数据操作 $a = db('user')->delete(1); $b = db('user')->delete(2); //判断条件 if($a && $b){ //如果全部成功,提交事务 Db::commit(); }else{ //如果失败,回滚事务 Db::rollback(); }