PHP和MySQL防止负值

时间:2018-10-08 05:36:34

标签: php mysql sql

我已经开发了一个库存系统。

显然,由于某些未知的原因(仍在弄清楚),库存的减少导致库存数量为负。

用户说,如果多个用户尝试分配仅剩1个盘点的广告资源,则可能会发生这种情况。

我已经预见到了这一点,但它仍在发生。

我的功能是这样的:

$request contains all item to be deducted, it has item_id and quantity
$employee is the user who will do the transaction

function applyInvoice($request, $employee) {

    ** gets all items and its current stock ** (basesd on the item_ids in the request)

    ** for each items **
       ** if current stock is less than the quantity to be deducted
              ** error: insufficient stock **
    ** end for each **

    ** if no errors **
       ** update quantity, deduct inventory **
    ** else **
       ** return error **

}

这就是应用程序逻辑,即使对于未知情况,它也会扣除导致负计数的数量。

我的应用程序逻辑有问题吗? mysql默认情况下是否为同步更新提供锁定?

0 个答案:

没有答案