抢单问题 并发

多人要抢一个单,一个单抢的次数有限制。

采用乐观锁处理并发。

抢单问题 并发

更新的时候给版本号字段加上 1,然后 UPDATE 会返回一个更新结果的行数,通过这个行数去判断。

UPDATE 必须这样写:

UPDATE T_GOODS g
   SET g.total = #total#,
       g.version = g.version + 1
 WHERE g.name = #name#
   AND g.version = #version#

如果更新执行返回的数量是 0 表示产生并发修改了,需要重新获得最新的数据后再进行更新操作。


你可能感兴趣的:(抢单问题 并发)