我只是在阅读 RDBMS,RDBMS 的一个属性是原子性。因此,如果从一个帐户中提取资金并转移到另一个帐户,则交易要么完全发生,要么根本不发生。没有部分交易。但实际上如何保证?
上述场景的 Sql 查询可能看起来像 (i) UPDATE accounts
set balance = balance - amount WHERE ac_num = 101 (ii) UPDATE accounts
set balance = balance + amount WHERE ac_num = 102
这决不能确保原子性。那么它实际上是如何发生的呢?