并发情况下产品超卖
2023-02-18 16:47:45 时间
在并发时减库存不能简单地通过
update(['stock' => stock - $amount])
来操作,在高并发的情况下会有问题。
$amount = $data['amount '];
update product set stock = stock - $amount where id = $id and stock >= $amount
这样可以保证不会出现执行之后 stock 值为负数的情况,也就避免了超卖的问题。根据返回的受影响行数来判断是否执行成功。
相关文章
- (25)STM32——ADC模数转换笔记
- (26)STM32——内部温度传感器笔记
- 【C语言】动态内存开辟的使用『malloc』
- (27)STM32——光敏传感器实验笔记
- 【C语言】内存函数
- (28)STM32——DAC数模转换笔记
- (29)STM32——PWM DAC实验笔记
- 【C语言】通讯录《静态内存版本》
- (30)STM32——DMA笔记
- (31)STM32——I2C实验笔记
- 【C语言】前言关键字
- (32)STM32——SPI实验
- 【C语言】auto 关键字
- (33)STM32——485实验笔记
- 【C语言】break 关键字
- (34)STM32——CAN通讯实验笔记
- 【C语言】case 关键字
- (35)STM32——红外遥控实验
- (36)STM32——DS18B20温度传感器
- 图解 | 聊聊「秒杀」