के साथ रेल में चयन-लॉकिंग एक सर्वोत्तम अभ्यास सलाह की तलाश में:MySQL
मान लीजिए कि मेरे पास सीमा विशेषता वाला खाता ऑब्जेक्ट है। प्रत्येक दिन खाता भुगतान तक उनकी रकम के साथ एन भुगतान हो सकता है। नया भुगतान करते समय, यह देखने के लिए जांच करता है कि क्या यह राशि है + दिन के अन्य भुगतान की मात्रा अभी भी खाता सीमा के भीतर है, और या तो रिकॉर्ड या डिस्प्ले त्रुटि को बचाती है।
अब मान लीजिए कि मेरे पास 100 डॉलर की सीमा है, और साथ ही 99 डॉलर के दो भुगतान किए जा रहे हैं। प्रत्येक एक चयन करेगा, देखें कि कुछ भी नहीं है, और खुद को बचाने के लिए आगे बढ़ें, जिसके परिणामस्वरूप 198 $ कुल बचाया जा रहा है।
आप इसके बारे में क्या करेंगे? मैं लेनदेन की शुरुआत में भुगतान तालिका पर एक लिखित लॉक जारी करने के बारे में सोच रहा था, लेकिन यह काफी भारी लगता है, यह देखते हुए कि मैं केवल अन्य लेनदेन द्वारा पढ़े जाने वाले विशिष्ट खाते से संबंधित भुगतान की अनुमति न देने की परवाह करता हूं। क्या इस स्थिति को संभालने के बेहतर तरीके हैं, बेहतर तरीके हैं?
"जैसे ही आप टेबल से जानकारी को पढ़ने , उन रिकॉर्ड्स को अपडेट या पढ़ने के किसी भी प्रयास को उस लेन-देन तक इंतजार करना होगा "- अगर चयन के साथ कोई रिकॉर्ड नहीं आता है तो क्या होगा? या प्रश्नकर्ता के मामले में, वह नए जोड़ने से पहले मौजूदा रिकॉर्ड के कुल मूल्य के लिए पूछताछ कर रहा है। MySQL को कैसे लॉक करना है? –