[討論] '商品庫存系統 PHP

看板PHP作者 (sony)時間12年前 (2014/01/18 22:10), 編輯推噓0(007)
留言7則, 1人參與, 最新討論串1/1
如標題 最近寫網站,賣衣服的網站 使用paypal付款 我會將商品的剩餘數量寫在MySQL資料庫中 目前的寫法是,使用者按下加入購物車->AJAX進到SERVER中判斷數量是否足夠 足夠的話,就更新資料庫中的數量並回傳數量足夠的訊息->收到數量足夠的訊息後 則加入購物車, 若無則說數量不足,並更新網站資訊 ,想問有沒有可能重複取到的問題 比如說,現在剩下一件 但兩個人同時點下購買,會有這樣的情形發生嗎? 該如何避免? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.164.152.237

01/18 22:52, , 1F
確定結賬再處理
01/18 22:52, 1F

01/18 22:54, , 2F
扣庫存,你 table 的 engine 要用 innodb,然後做 row lock
01/18 22:54, 2F

01/18 22:54, , 3F
可以確保庫存不會被同一時間被扣的狀況
01/18 22:54, 3F

01/18 22:54, , 4F
不過要記得,像這種東西你下 SQL 語法時,要用兩個以上的
01/18 22:54, 4F

01/18 22:55, , 5F
mysql client 端做測試,確保 row lock 真的有鎖住資料
01/18 22:55, 5F

01/18 22:57, , 6F

01/18 23:03, , 7F
其他相關問題可上,http://stackoverflow.com/ 查詢
01/18 23:03, 7F
感謝教學!!! ※ 編輯: xperiaZL 來自: 1.164.152.237 (01/19 01:11)
文章代碼(AID): #1IsejV_L (PHP)
文章代碼(AID): #1IsejV_L (PHP)