ThinkPHP数据库——事务操作
2017-05-17 09:58
253 查看
需要数据库引擎支持事务处理,MySQL需要使用InnoDB支持。使用transaction方法操作数据库事务,会发生异常自动回滚。
自动控制事务
进行事务操作时,确保数据库的连接是相通的。
分享下使用事务应注意的几个地方:
第一步:确认表引擎是否为Innodb
第二步:Db::startTrans();
第三步:在涉及到数据库写或更新操作时,使用 Db::name('*****'),这种方式
第四步:根据条件判断是否成功执行业务逻辑,为否则:Db::rollback();
第五步:最终完成了业务逻辑,就 Db::commit(); 这个提交环节必要要加上。
自动控制事务
Db::transaction(function(){ Db::table('think_user')->find(1); Db::table('think_user')->delete(1); });
手动控制事务 // 启动事务 Db::startTrans(); try{ Db::table('think_user')->find(1); Db::table('think_user')->delete(1); // 提交事务 Db::commit(); } catch (\Exception $e) { // 回滚事务 Db::rollback(); }
进行事务操作时,确保数据库的连接是相通的。
分享下使用事务应注意的几个地方:
第一步:确认表引擎是否为Innodb
第二步:Db::startTrans();
第三步:在涉及到数据库写或更新操作时,使用 Db::name('*****'),这种方式
第四步:根据条件判断是否成功执行业务逻辑,为否则:Db::rollback();
第五步:最终完成了业务逻辑,就 Db::commit(); 这个提交环节必要要加上。
相关文章推荐
- ThinkPHP5-数据库操作和事务支持
- ThinkPHP5学习(9)数据库-事务,链式操作
- 使用TransactionScope实现单数据库连接事务操作
- ThinkPHP - 事务操作
- PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
- c#使用Transactions类完成多个数据库的事务操作
- 24.Linux:嵌入式sqlite3数据库事务理解以及实例操作 (转载)
- 数据库事务操作
- C# 对数据库进行 事务操作
- thinkphp数据库操作CURD
- Spring Boot学习——数据库操作及事务管理
- 在ASP.NET 2.0中操作数据之六十一:在事务里对数据库修改进行封装
- BackgroundWorker 组件用来执行诸如数据库事务、文件下载等耗时的异步操作
- thinkphp 事务操作
- 数据库操作序列“事务”
- Django的ORM实现数据库事务操作
- COM+事务应用,在分布式应用程序中,同时操作多个不同数据库
- Python3.x的mysqlclient的安装、Python操作mysql,python连接MySQL数据库,python创建数据库表,带有事务的操作,CRUD
- MSSQLSERVER数据库- 使用C#来操作事务
- day03-spring与数据库操作的框架解析即dataSource的获取(JDBC)、使用spring中已经有的事务进行JDBC操作