事务. 脏读. 幻读. 不可重复读.
DB锁定策略.并发性.
乐观锁.悲观锁.
select for update
http://www.cnblogs.com/chenwenbiao/archive/2012/06/06/2537511.html
http://www.cnblogs.com/gengyulong/archive/2011/04/07/2007586.html

一个用户要update一条数据.这时候另一个用户也有修改它.这个时候如果不做控制就会有问题.比如
用户1 把100 减20,改成了80 用户2 在用户1查询到记录后(或前).更新数据前查到的数据.是100. 用户2
要做减20 改成了80.用户2在用户1提交更新后更新 实际结果就是用户1改成80之后. 用户2 把80改成80.
其实应该是减40变成60的.
如果是select for update就行了.如上图.用户1 select for update .这时候用户2update会等待这个记录的锁被释放. 用户1 selectfor update后在commit或rollback之前记录会一直锁着. commit或rollback后释放锁
(这两天看一个名词动态查询.好拽的词.看了才知道是什么.这也值得起个名?)
本文探讨了在SQL中如何处理多个用户同时更新同一数据的问题,并详细解释了使用select for update语句来避免数据冲突的方法。

被折叠的 条评论
为什么被折叠?



