您的位置首页百科问答

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

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

的有关信息介绍如下:

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

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

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

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

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