用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1353|回复: 7
收起左侧

[版本 2.x] 求教 关于ci中事务处理

[复制链接]
发表于 2016-2-11 10:45:10 | 显示全部楼层 |阅读模式
$this->db->trans_start();
$this->capital_service->pay($config);
$this->db->update(.......);
$this->db->trans_complete();

其中capital_service的pay函数中也用到了事务,想请问大神,在这种情况下,上面四条指令如果出错会回滚吗?
发表于 2016-2-11 16:57:01 | 显示全部楼层
当事务嵌套的时候,最外层的有效。
When transactions are nested we only begin/commit/rollback the outermost ones


 楼主| 发表于 2016-2-13 17:05:09 | 显示全部楼层
jeongee 发表于 2016-2-11 16:57
当事务嵌套的时候,最外层的有效。
When transactions are nested we only begin/commit/rollback the oute ...

也就是说调用函数中如果出错也是会回滚的吗?
发表于 2016-2-14 09:31:45 | 显示全部楼层
wo很忙 发表于 2016-2-13 17:05
也就是说调用函数中如果出错也是会回滚的吗?

没错!
 楼主| 发表于 2016-2-15 19:45:32 | 显示全部楼层

好的!非常感谢。另外还想问一下您,如果在
$this->db->trans_start();

$this->db->trans_complete();
之间,就执行了return操作会造成什么后果吗?比如造成锁之类的吗
发表于 2016-2-16 09:09:17 | 显示全部楼层
wo很忙 发表于 2016-2-15 19:45
好的!非常感谢。另外还想问一下您,如果在
$this->db->trans_start();

最好不要这么干,return前结束掉事务为好。
 楼主| 发表于 2016-2-16 11:56:11 | 显示全部楼层
jeongee 发表于 2016-2-16 09:09
最好不要这么干,return前结束掉事务为好。

好的,最近经常发现有莫名锁死问题,估计就是这个问题。
 楼主| 发表于 2016-2-16 11:57:14 | 显示全部楼层
jeongee 发表于 2016-2-16 09:09
最好不要这么干,return前结束掉事务为好。

大神方便给个方便交流点的联系方式吗?偶尔有问题可以请教一下您

本版积分规则