ThinkPHP5中的事务操作
来源:互联网 发布:初中数学解题软件 编辑:程序博客网 时间:2024/05/19 18:39
官方手册里的事务操作
1.自动控制事务处理(匿名函数方式)
Db::transaction(function(){ Db::table('think_user')->find(1); Db::table('think_user')->delete(1);});
2.手动控制事务
// 启动事务Db::startTrans();try{ Db::table('think_user')->find(1); Db::table('think_user')->delete(1); // 提交事务 Db::commit();} catch (\Exception $e) { // 回滚事务 Db::rollback();}
除了官方推荐方式,我们也可以另外使用模型来控制事务
$test1Model=new Test1Model;$test2Model=new Test2Model;$test1Model->startTrans();try{ $test1Model->where('id','eq',1)->delete(); $test2Model->where('id','eq',1)->delete(); $test1Model->commit();}catch(\Exception $e){ $test1Model->rollback();}
需要注意的几个方面是
- 使用事务处理的话,需要数据库引擎支持事务处理。 比如 MySQL 的MyISAM 不支持事务处理,需要使用InnoDB 引擎
- 注意在事务操作的时候,确保你的数据库连接是相同的
- 业务上的出错和数据库操作的出错是不同的,你可能需要自己捕获业务上的出错信息
阅读全文
0 0
- ThinkPHP5中的事务操作
- ThinkPHP5学习(9)数据库-事务,链式操作
- ThinkPHP5-数据库操作和事务支持
- thinkphp5 事务
- ThinkPHP5 数据库事务
- 数据库中的事务操作
- JDBC中的事务操作
- Spring中的事务操作
- thinkPHP5.0在PHP中的基本操作-------(一)
- thinkPHP5.0在PHP中的基本操作-------(二)
- Android中的sqlite事务操作
- Thinkphp5-前置操作
- ThinkPHP5数据库操作
- ThinkPHP5常用命令符操作
- thinkphp5 锁表操作
- thinkphp5中数据库操作
- ThinkPHP5常用数据操作
- thinkphp5的数据库操作
- firewalld命令参数详解
- 将打好的jar文件上传到jar包的管理服务器
- PostgreSQL学习(一)—常用修改表操作
- Android零基础入门第69节:ViewPager快速实现引导页
- 目标检测算法SSD在Ubuntu+CPU下运行
- ThinkPHP5中的事务操作
- 配置问题 vsphere HA 启动了虚拟机故障切换操作
- cloudera mamager中配置hive加载第三方JAR
- List遇到的问题
- [转载]TexturePacker的使用方法
- iOS NSOperation
- IP层负载均衡
- 《并发编程》--21.无锁的线程安全整数 AtomicInteger
- vim工具的使用(二)