是否可以撤消回滚?

时间:2018-11-29 22:45:22

标签: sql postgresql

我在摆弄一张桌子,测试一些插入和更新。

我总是以BEGIN;开始命令,看到结果后,我将随后运行ROLLBACK;

我不小心打了F5两次,突出显示了ROLLBACK;,然后又变回了空。

是否可以撤消ROLLBACK;

编辑:事实证明,这没有像我想象的那样进行。我没有两次击中F5引起两次回滚,只是碰巧在与数据库交互的同时运行了一个删除操作,而没有人通知我。不过,我现在暂时保持这种状态,以显示似乎没有办法撤消回滚。

1 个答案:

答案 0 :(得分:0)

感谢@visch的回答:

  

我不相信,tutorialspoint.com/postgresql/postgresql_transactions.htm

编辑:为了提供更多的上下文并使每个人都开心,您不能撤消回滚,因为在以下情况下该交易实际上被取消了:

  1. 数据库中发生错误
  2. 连接丢失
  3. 运行提交
  4. 回滚已运行

因此,一旦满足这些条件中的任何一个,事务就会被擦除-因为这就是重点,因此不会存储任何事务记录