数据库回滚(rollback)和撤销(undo)的区别

之前一直不明白在数据库里面的回滚(rollback)和撤销(undo)的区别,感觉反正就是把某一个数据库操作恢复到该操作之前的状态,今天重新看了一下数据库事务管理章节,总结二者区别如下:

    回滚:即在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的操作全部撤销,滚回到事务开始时的状态。(需要在提交之前执行)

    撤销:恢复程序要在不影响其他事务运行的情况下,强行回滚该事务,即撤销该事务已经做出的任何对数据库的修改,使得该事务好像根本没有启动一样。(在提交之后执行)

    根据上述书中的解释可以明白二者主要区别在于事务执行的状态,回滚是在事务未全部完成即在事务中发生的,撤销是在该事务已经执行完成后发生的,不过二者都是为解决事务故障而存在的一种安全机制。

 

摘自html:https://jingyan.baidu.com/article/15622f24002d60fdfcbea58d.html

转载于:https://www.cnblogs.com/CaptainFM/p/10689124.html

你可能感兴趣的:(数据库回滚(rollback)和撤销(undo)的区别)