मैं एक लेनदेन में 2 प्रश्न करता हूं: चुनें (जॉइन क्लॉज युक्त) और अद्यतन। यह आवश्यक है कि चयनित पंक्तियों में डेटा अपडेट होने से पहले नहीं बदला जाए, इसलिए मैं अद्यतन अद्यतन के लिए उपयोग कर रहा हूं। मेरा सवाल है: क्या 'अपडेट के लिए' केवल खंड से निर्दिष्ट तालिका से चयनित डेटा के भाग के लिए या शामिल टेबल से डेटा के लिए भी काम करता है? मेरा डीबीएमएस MySQL है।क्या 'अपडेट के लिए' पंक्ति अवरोधन भी शामिल तालिकाओं के लिए काम करता है?
9
A
उत्तर
6
documentation बस कहता है कि ताला पंक्तियों को छोड़कर बिना पंक्तियों पर पढ़ा जाता है, इसलिए यह सभी शामिल तालिकाओं पर सभी रिकॉर्ड पर होना चाहिए। यदि आप केवल तालिकाओं में से किसी एक पंक्ति को लॉक करना चाहते हैं, तो आप इसे अलग से कर सकते हैं: 'कुंजीटेबल से चुनें 1 ... अद्यतन के लिए'।
यह कहा गया कि, चयन और अद्यतन के बीच अद्यतन को रोकने के लिए इसकी आवश्यकता नहीं है। SELECT पर रीड लॉक पहले से ही ऐसा करता है। फॉर अपडेट का उद्देश्य अन्य लेनदेन को पंक्तियों को पढ़ने से रोकने के लिए होगा और इस प्रकार संभावित रूप से डेडलॉक पैदा कर रहा है क्योंकि अद्यतन तब तक लागू नहीं किया जा सकता जब तक कि अन्य लेन-देन इसके रीड लॉक को रिलीज़ न करे।
संबंधित मुद्दे
- 1. अवरोधन कार्य क्या है?
- 2. कैसे "==" वस्तुओं के लिए काम करता है?
- 3. लूप के लिए कैसे काम करता है, खासकर (;;) के लिए?
- 4. क्या अनुबंध आपके द्वारा अनुबंध के लिए काम करता है?
- 5. + ऑपरेटर प्रतिनिधियों के संयोजन के लिए कैसे काम करता है?
- 6. क्या ऑटोमोक कस्टमाइज़ेशन सार वर्गों के लिए काम करता है?
- 7. जावा सेट के लिए 'कोई भी शामिल है' जैसे कुछ?
- 8. क्या मैवेन शाखाओं के लिए प्लगइन काम जारी करता है?
- 9. क्या [Serializable] विरासत कक्षाओं के लिए काम करता है?
- 10. क्या एकल कॉलम के लिए एक मल्टी-कॉलम इंडेक्स भी काम करता है?
- 11. मोंगोडीबी समवर्ती अपडेट के साथ कैसे काम करता है?
- 12. सभी तालिकाओं को हटाने के लिए django कमांड क्या है?
- 13. पायथन: आयात समय समय के लिए क्यों काम नहीं करता है() लेकिन time.sleep() के लिए काम करता है?
- 14. कार्य अपडेट के लिए ट्विटर
- 15. एआरसी केवल आईओएस 4.0+ के लिए क्यों काम करता है?
- 16. ओकैमल लेक्स: बिल्कुल भी काम नहीं करता है, जो भी
- 17. state_machine केवल नए रिकॉर्ड के लिए काम करता है
- 18. ClientDataset.RefreshRecord अब शामिल टेबल के लिए डेल्फी एक्सई में काम नहीं करता है - कोई कामकाज?
- 19. ऑटोमैपर मानचित्र से गणना के लिए काम करता है?
- 20. विरासत गुणों के लिए कैसे काम करता है?
- 21. MySQL में, बड़ी तालिकाओं में शामिल होने के लिए सबसे प्रभावी क्वेरी डिज़ाइन क्या है, जिसमें शामिल होने के बीच कई रिश्ते हैं?
- 22. MySQL तालिकाओं के लिए डेटा जेनरेट करें
- 23. इनपुट [प्रकार = चुनिंदा] के लिए काम नहीं करता है मुझे
- 24. लाटेक्स: शामिल-कमांड कैसे काम करता है?
- 25. एसक्यूएल में भौतिक तालिकाओं के लिए अस्थायी तालिकाओं की तुलनात्मक गति क्या है?
- 26. क्या Redis को अपडेट करने के लिए कोई आदेश है?
- 27. siginterrupt() केवल पहले सिग्नल के लिए काम करता है? (पायथन)
- 28. एंड्रॉइड के लिए मोनो कैसे काम करता है?
- 29. capybara: page.should have_no_content डिस्प्ले के लिए सही तरीके से काम नहीं करता है: कोई भी तत्व
- 30. जीसीसी उपनाम अनुवाद इकाई के बाहर काम करने के लिए-AKA- क्या यह नौकरी के लिए भी सही उपकरण है?
"यह कहा गया है कि चयन और अद्यतन के बीच अद्यतन को रोकने के लिए इसकी आवश्यकता नहीं है। SELECT पर पढ़ने वाला लॉक पहले से ही यह" करता है मुझे नहीं लगता कि यह सच है। यह केवल तभी सच है जब आप चयन करते हैं ... शेयर मोड में लॉक करें –