ThinkPHP5中的事务操作
发布时间 - 2020-01-30 00:00:00 点击率:次使用事务处理的话,需要数据库引擎支持事务处理。比如 mysql 的 myisam 不支持事务处理,需要使用 innodb 引擎。
ThinkPHP5.0
使用transaction 方法操作数据库事务,当发生异常会自动回滚,例如:
自动控制事务处理
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();}ThinkPHP5.1
最简单的方式是使用 transaction 方法操作数据库事务,当闭包中的代码发生异常会自动回滚,例如:
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();}注意在事务操作的时候,确保你的数据库连接使用的是同一个。
V5.1.13+版本开始,可以支持MySQL的XA事务用于实现全局(分布式)事务,你可以使用:
Db::transactionXa(function () {
Db::connect('db1')->table('think_user')->delete(1);
Db::connect('db2')->table('think_user')->delete(1);}, [Db::connect('db1'),Db::connect('db2')]);要确保你的数据表引擎为InnoDB,并且开启XA事务支持。
# 事务处理
# 的是
# 你可以
# 不支持
# 最简单
# 包中
# br
# class
# pre
# transaction
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在云主机快速搭建网站站点?
微信推文制作网站有哪些,怎么做微信推文,急?
手机软键盘弹出时影响布局的解决方法
在线教育网站制作平台,山西立德教育官网?
如何在Tomcat中配置并部署网站项目?
浅谈javascript alert和confirm的美化
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
个人网站制作流程图片大全,个人网站如何注销?
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
如何用西部建站助手快速创建专业网站?
bing浏览器学术搜索入口_bing学术文献检索地址
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
如何在香港免费服务器上快速搭建网站?
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
android nfc常用标签读取总结
如何在景安云服务器上绑定域名并配置虚拟主机?
公司网站制作需要多少钱,找人做公司网站需要多少钱?
如何获取PHP WAP自助建站系统源码?
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
高端网站建设与定制开发一站式解决方案 中企动力
香港服务器如何优化才能显著提升网站加载速度?
Python高阶函数应用_函数作为参数说明【指导】
Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】
昵图网官网入口 昵图网素材平台官方入口
如何获取免费开源的自助建站系统源码?
如何挑选优质建站一级代理提升网站排名?
高端企业智能建站程序:SEO优化与响应式模板定制开发
php打包exe后无法访问网络共享_共享权限设置方法【教程】
ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集
清除minerd进程的简单方法
如何在腾讯云服务器快速搭建个人网站?
网站建设保证美观性,需要考虑的几点问题!
Laravel如何处理文件下载请求?(Response示例)
Laravel如何实现API速率限制?(Rate Limiting教程)
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
音乐网站服务器如何优化API响应速度?
图册素材网站设计制作软件,图册的导出方式有几种?
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
Laravel怎么在Controller之外的地方验证数据
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
Laravel如何为API编写文档_Laravel API文档生成与维护方法
php 三元运算符实例详细介绍
如何用美橙互联一键搭建多站合一网站?
如何解决hover在ie6中的兼容性问题
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】


->delete(1);
// 提交事务
Db::commit(); } catch (\Exception $e) {
// 回滚事务
Db::rollback();}