Şu anda benim müşteri için bir PHP e-ticaret web sitesi inşa ediyorum. Onun sorunsuz gidiyor ama ben bir barikat isabet ettik ve herhangi bir MySQL / PHP uzmanları bana yardımcı olabilir merak ediyorum. Temel olarak, e-ticaret sitesi müşteri öğe ile denetler kez artık satın alınamaz anlamına gelir, sadece bir kez (sadece her öğe için stokta bir miktar anlamına gelir) bir ürün satıyor.
Yani kasada, ben ürün stokta hala olup olmadığını görmek için kontrol etmelisiniz. Bu yoğun trafiği olan bir site olacak varsayarsak, iki veya daha fazla müşteri, böylece hem ürünü satın almak mümkün olacaktır, aynı zamanda çıkış için çalışacaktı örnekleri var olabilir. Aşağıdaki gibi böylece önlemek için, benim planım:
- Seçiniz ... ürünün üzerinde UPDATE, tablo satır kilitlemek için.
- Do e-ticaret işlem (Paypal, authorize.net, vb)
- E-ticaret işlem başarılı ise başarısız olursa, sipariş bilgileri, vb veya geri saklamak için (aynı zamanda bir SQL işlem vardır) MySQL saklı yordam çağrısı
Bu planı gerçekleştirmek mümkün mü? SELECT gerçekleştirmek için ... FOR UPDATE, bir SQL işlem başlatmak zorunda kalacak, ama sonra ben de MySQL saklı yordam içindeki Adım 3'te bir tane başladım. Ben ne olacağını emin değilim. Ayrıca, bu planın bir kilitlenme senaryosu yol açacak?
Uzun soru için üzgünüm, ancak herhangi bir yardım takdir!