前端之家收集整理的这篇文章主要介绍了
postgresql – 事务错误后回滚,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对于熟悉
Postgresql的人来说,这应该是一个简单的
方法:
我的应用程序发出begin_work,执行大量操作,然后发出提交.操作和提交包含在try-catch块中,其catch语句执行回滚.假设:如果在sql操作期间发生错误,Postgresql将自动回滚事务,因此我的回滚将是多余的,但无害.这个假设是否正确?
(无论如何我还是要回滚的原因:以防万一与sql操作无关的异常.)
如果发生
错误,Postgre
sql实际上不会回滚事务.它会在每个后续语句中失败并出错.你可以在客户端试试这个.
您需要在成功执行任何语句之前执行回滚.
在关闭连接并启动新连接的情况下,这没什么影响.但是,如果您保留连接并运行您希望成功执行的其他语句,则它将不起作用.