我正在为我的网络应用程序使用 SQLAlchemy。我见过很多这样的代码:
try:
session.commit()
except:
session.rollback()
我想知道是否每个人都有必要commit()
手术。如果是,那么为什么它不属于commit()
手术?如何决定何时rollback()
什么时候不呢?
当提交失败时,仅意味着事务无法在不破坏某些约束的情况下完成。因此原则上,您可以进行一些更新并尝试再次提交,而不是回滚。
在实践中,这种错误恢复逻辑很难推理,因此大多数人只是回滚(撤消对事务所做的任何更改)以保持数据处于一致状态,并将问题传达给用户。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)