如何避免高并发情况下库存为负数?

时间:2024-03-16 14:54:31

方案一:

直接设置数据库的字段数据为无符号整数,这样减后库存字段值小于零时会直接执行 SQL 语句来报错

如何避免高并发情况下库存为负数?

如何避免高并发情况下库存为负数?

方案二:

使用case when 判断语句,例如

update test_db set count = case when count >=1 then count-1 else count end

方案三:

应用程序中通过事务来判断,保证库存减后不能为负。