php mysql 丢失更新问题
php mysql 丢失更新问题,搜索整个互联网,很少有讲到,也许和 php 程序员出身一般都是
非科班出身有关系吧。
另外
php 程序一般都是简单数据,很少有并发一致性问题,所以大家都没有谁专门提出这
个问题。
这个问题无法依靠数据库的并发机制进行控制,因为不是一回事。
丢失更新:(
Lost Update)
事务
T1 读取了数据,并执行了一些操作,然后更新数据。事务 T2 也做相同的事,则 T1 和
T2 更新数据时可能会覆盖对方的更新,从而引起错误。
这里的事务不是指的数据库事务。
可以理解成两个不同的客户端。
举例:
在时间
T1
PC 机 1 客户读到一条 message | pc 机 2 客户读到同一个 message
修改
| 修改
时间
t2
保存
时间 t3
| 保存