作者xperiaZL (sony)
看板PHP
標題[討論] '商品庫存系統 PHP
時間Sat Jan 18 22:10:36 2014
如標題
最近寫網站,賣衣服的網站
使用paypal付款
我會將商品的剩餘數量寫在MySQL資料庫中
目前的寫法是,使用者按下加入購物車->AJAX進到SERVER中判斷數量是否足夠
足夠的話,就更新資料庫中的數量並回傳數量足夠的訊息->收到數量足夠的訊息後
則加入購物車,
若無則說數量不足,並更新網站資訊
,想問有沒有可能重複取到的問題
比如說,現在剩下一件
但兩個人同時點下購買,會有這樣的情形發生嗎?
該如何避免?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.164.152.237
1F:→ alog:確定結賬再處理 01/18 22:52
2F:→ alog:扣庫存,你 table 的 engine 要用 innodb,然後做 row lock 01/18 22:54
3F:→ alog:可以確保庫存不會被同一時間被扣的狀況 01/18 22:54
4F:→ alog:不過要記得,像這種東西你下 SQL 語法時,要用兩個以上的 01/18 22:54
5F:→ alog:mysql client 端做測試,確保 row lock 真的有鎖住資料 01/18 22:55
感謝教學!!!
※ 編輯: xperiaZL 來自: 1.164.152.237 (01/19 01:11)