我有两个事务T和U,它们在一个DB中同时执行。如何提供丢失更新问题的示例?
我们可以假设我们有三个帐户A、B、C,每个帐户分别具有£100、£200和£300。
发布于 2009-05-19 03:24:33
在读取器不阻塞写入器的系统中,“丢失更新”问题与对数据的并发读取和更新有关。事务没有必要完全同时进行。
在这种情况下,因为会话#1不知道另一个会话已经修改了帐户,所以会话#2的更新被覆盖(“丢失”)。
有几种方法可以解决这个问题,例如版本号或前后比较。
发布于 2010-07-08 20:40:46
(3)将帐户A更新为150,其中帐户为100 ->帐户A现在为150
(4)将帐户A更新为120,其中帐户为100 ->更新失败,因为帐户A为150而不是100
发布于 2012-07-31 10:43:02
当访问相同数据库项的两个事务的操作以使某些数据库项的值不正确的方式交错时,就会发生这种情况。
https://stackoverflow.com/questions/855105
复制相似问题