簡體   English   中英

如何控制產品數量的更新?

[英]How to control updates to product count?

我有一個名為 products 的表,其中包含一個名為 product_count 的字段,它告訴我們我們擁有的產品類型的數量。

當不同用戶同時發生多個更新時,我需要管理產品數量。

例如考慮當 4 個用戶嘗試購買相同的產品但數據庫只剩下一個產品。 現在我們的 API 有 4 個請求來購買產品,我想確保只有一個用戶會得到產品,因為我們在 db 中只剩下一種產品。 我們應該使用哪種技術來實現這一目標?

我正在使用 Java、Spring Boot 和 MYSQL 數據庫。

更新股票時,運行如下查詢:

update products set stock = stock - 1 where id = xxx and stock >= 1;

並且這條sql會返回受影響的行數,如果成功,則結果為1,如果庫存不足,則該sql的結果為0,您將知道該用戶購買失敗。

這是在數據庫級別實現的。 RDBMS 實現 ACID。 在后端級別(Spring boot),您實現購買操作(@Repository / @Query)和庫存檢查的異常處理(@ExceptionHandler)(例如“產品不可用”)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM