1
chenset 2020-03-02 14:54:35 +08:00 1
类似的问题我是用动态用 RC + FOR UPDATE 解决的 , 不知道你的为什么又问题. 不太确定你跟场景是否一致
|
2
lhx2008 OP @chenset #1 如果行已经存在是可以的,如果行不存在,比如 count 一个条件是不是 = 0,是的话插一条让他不等于 0,就有可能插到两条。
|
3
chenset 2020-03-02 14:58:49 +08:00 1
FOR UPDATE 无法挂行锁: 对了我不是 row 锁, 而是 range 锁. 是不是这个概念不太清楚了,太久了. 反正锁定的是多行共用同值的索引, 而不是唯一锁
|
4
chenset 2020-03-02 15:00:07 +08:00 1
我的场景是针对同一个商品抢购, 通过合计抢购明细达到不超售的目的. RR 没法解决 转而使用 RC
|
5
FaceBug 2020-03-02 15:25:42 +08:00 1
超卖问题不应该由数据库解决吧,考虑下 redis 之类的
实在要数据库解决,可以锁商品行,扣减余额字段,同时增加订单 而不是锁订单范围吧 |