PHP--ThinkPHP6.0 事务操作
2022-07-28 14:14:58
298
{{single.collect_count}}

PHP–ThinkPHP6.0 事务操作

博客说明

文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!

说明

都是先学功能,后面使劲的完善

看云文档地址

https://www.kancloud.cn/manual/thinkphp6_0/1037573

前提条件

使用事务处理的话,需要数据库引擎支持事务处理。比如 MySQLMyISAM 不支持事务处理,需要使用 InnoDB 引擎

在这里插入图片描述

在这里插入图片描述

放这两张图片是因为要体现一下两种引擎

事务操作

使用 transaction 方法操作数据库事务,当闭包中的代码发生异常会自动回滚

//DbDb::transaction(function () {Db::table('think_user')->find(1);Db::table('think_user')->delete(1);});//modelDb::transaction(function () {User::where('id',$user_id)->find();User::where('id',$user_id)->delete();});

手动控制事务

// Db启动事务Db::startTrans();try {Db::table('think_user')->find(1);Db::table('think_user')->delete(1);// 提交事务Db::commit();} catch (\Exception $e) {// 回滚事务Db::rollback();}// model启动事务Db::startTrans();try {User::where('id',$user_id)->find();User::where('id',$user_id)->delete();// 提交事务Db::commit();} catch (\Exception $e) {// 回滚事务Db::rollback();}

感谢

ThinkPHP

以及勤劳的自己

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}