ThinkPHP5事务回滚
程序员文章站
2022-03-28 18:49:44
使用事务处理的话,需要数据库引擎支持事务处理。比如 MySQL 的 MyISAM 不支持事务处理,需要使用 InnoDB 引擎。 使用 transaction 方法操作数据库事务,当发生异常会自动回滚 1.手动控制事务 2.自动控制事务 ......
使用事务处理的话,需要数据库引擎支持事务处理。比如 MySQL 的 MyISAM 不支持事务处理,需要使用 InnoDB 引擎。
使用 transaction 方法操作数据库事务,当发生异常会自动回滚
1.手动控制事务
// 启动事务 Db::startTrans(); try{ $res = Db::table('user')->find(1); $rs = Db::table('user')->delete(1); if($res&&$rs){ // 提交事务 Db::commit(); } } catch (\Exception $e) { // 回滚事务 Db::rollback(); }
2.自动控制事务
Db::transaction(function(){ Db::table('user')->find(1); Db::table('user')->delete(1); });
推荐阅读
-
浅谈Spring中@Transactional事务回滚及示例(附源码)
-
Spring事务管理只对出现运行期异常进行回滚
-
ThinkPHP实现事务回滚示例代码
-
解析php mysql 事务处理回滚操作(附实例)
-
浅析Mysql 数据回滚错误的解决方法
-
安装.NET Framework严重错误回滚怎么办?完美解决NET Framework4回滚问题的方法
-
WatchOS2 Beta3无法回滚:只能返厂
-
Oracle回滚段的概念,用法和规划及问题的解决
-
Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
-
spring5 源码深度解析----- 事务的回滚和提交(100%理解事务)