为什么回滚如此重要?
是为了防止数据(如sql db中的数据)处于不一致的状态吗?
如果是这样的话,为什么数据“存储”(sql db或其他什么东西)会首先导致数据处于损坏状态?
有没有不需要“回滚”的数据存储机制?

最佳答案

在某些情况下,当您需要在许多相关表中插入/更新数据时——如果您没有事务逻辑,那么进程中间的任何错误都可能导致数据不一致。
简单的例子。假设您需要将订单标题数据插入订单表,并将订单行插入行表。您可以插入订单头、读取标识、开始插入订单行,但是第二次插入会因任何原因失败。从这种情况中恢复的唯一可靠方法是回滚第一次插入-显式地(当您与db的连接处于活动状态时)或隐式地(当链接关闭时)。

关于database - 为什么需要回滚?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4722907/

10-15 08:11