两个用户能在SQL服务器中同时连接到DB并更新同一行的表吗?
例如,用户A和用户B同时登录到同一个DB,并开始新事务,然后同时更新每周租金。
原来每周租金是三百元。
用户A:更新租金集WeeklyRent = WeeklyRent* 1.1其中地址='121 Green‘
用户B:更新租金集WeeklyRent = WeeklyRent* 1.2其中地址='121 Green‘
然后用户A发出一个Commit语句。然后用户B发出一个Commit语句。
最后的租金是多少?这是330元,还是360元或300元呢?我已经研究过了,数据似乎不会因为‘死锁’而改变。如果我错了,请纠正我。提前感谢~
发布于 2014-09-21 03:21:27
Server将锁定表/行/页,以确保您能够执行更新。然而,在大多数情况下,我们谈论的是毫秒,所以它们几乎不可能“同时”更新相同的记录。只需确保始终使用事务并限制连接时间,因为记录将被锁定,直到事务结束。
https://stackoverflow.com/questions/25955440
复制相似问题