我有一个数据库服务器(MySQL)。
这包含一个产品表。产品表的字段之一是剩余数量。
我有几个客户(大约 10 个)会在下订单时查询剩余数量。一旦下订单,剩余数量将根据订单减少。
当数量较少时我会遇到一个问题:例如,如果剩余数量为“10”并且 client1 正在创建 8quantity 的订单(尚未下订单,但只是在处理中)并且 client2 下订单 5 个数量,然后后者下订单的客户将失败。
我想改进系统,以便当一个客户正在订购时,其他客户应该只显示(剩余数量 - client1 订单数量)。最初我想在订单表中输入剩余数量后立即更改剩余数量,但是当订单被取消或正在下订单的计算机关闭/崩溃时,这会产生问题。
请建议我一些合适的算法来有效地处理这种情况。每当订单正在进行时,所有其他客户应该只看到(剩余数量 - 正在进行的订单数量)。