前提:
使用事务处理的话,需要数据库引擎支持事务处理。比如 MySQL 的 MyISAM 不支持事务处理,需要使用 InnoDB 引擎。
事务操作
依据 tp5.1手册提供的事务操作介绍,随便写一个例子:
使用场景
针对事务操作,我们首先需要了解事务的意义:这里不详述了,不清楚的朋友可参考MySQL事务进行了解。
常见问题
问题1:如上代码中如果第一条新增语句 返回 true , 第二条更新语句返回 false ,那这个事务还是会 commit 的,而不是我们预期的rellback,这是为什么?
问题2: 在事务中,使用了tp5 的函数 $this->success(),即使事务里面的 sql 语句都成功了,但还是走了rollback,为什么?
链接:https://www.jianshu.com/p/d9aeabd9b368