为了账号安全,请及时绑定邮箱和手机立即绑定

PHP在业务批量操作时如何保证原子性

PHP在业务批量操作时如何保证原子性

海绵宝宝撒 2019-04-16 20:27:46
用什么方法可以在业务批量操作时保证原子性呢?例如:删除多条文章,但在中间有一条已经被删除了,假设这里会出现错误,那如何让整个操作回滚,并定位错误信息呢。数据库的事务保证原子性但不能定位错误信息,但遇到无法使用事务的场景,应该怎么做呢。
查看完整描述

2 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

利用数据库的事务来做是最合理的,错误信息可以记录啊,有操作失败抛出错误。
应用逻辑来保证,就是每操作一次做下记录,成功失败都做下记录。中间出错,可以把成功的回滚。一般我们删除是假删除,所以很容易。如果真删除,记录时要记录完整信息。
很好问题,期待高手来回答。
                            
查看完整回答
反对 回复 2019-04-16
?
RISEBY

TA贡献1856条经验 获得超5个赞

确实是很好的问题
我能想到的办法也和@star001007一样;
1、建一个支持事务类型的db
2、删除时并非真正意义上的物理删除,只是设置一个标志位,比如status=1表示删除了,0表示正常。
3、记录删除日志,这些冗余信息有助于恢复记录。
                            
查看完整回答
反对 回复 2019-04-16
  • 2 回答
  • 0 关注
  • 286 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信