कंप्यूटरडेटाबेस

"गलतियां" DML-टीम अद्यतन MySQL

हर प्रोग्रामर, जो डेटाबेस के साथ काम करने के लिए किया था, DML-ऑपरेटरों का सामना करना पड़ (अनुवाद अंग्रेजी से - .. "डेटा हेरफेर भाषा"), इस तरह के चयन, सम्मिलित रूप में, हटाएँ और अद्यतन। MySQL-परिवहन भी ऊपर बताए गए आदेशों के सभी के अपने शस्त्रागार का उपयोग करता है।

ये बयान तार्किक उनकी नियुक्ति के बारे में बात कर रहे हैं - का चयन रिकॉर्ड, नए मूल्यों डालें, मौजूदा डेटा, संपूर्ण, या निर्दिष्ट शर्तों, डेटाबेस में जानकारी को हटाने के अनुसार अद्यतन करने। सैद्धांतिक प्रशिक्षण सामग्री विस्तार से वर्णन किया गया है प्रत्येक आदेश और उनके वाक्य रचना के आपरेशन के सिद्धांत, लेकिन कहीं कठिनाइयों कि व्यवहार में उपयोग के दौरान पैदा हो सकता है के लिए संदर्भ पाया। इस सामग्री को उनमें से कुछ पर विचार करने के लिए समर्पित किया जाएगा।

DML-देन के बारे में संक्षेप में (सम्मिलित)

आगे बढ़ने से पहले, यह एक बार फिर प्रत्येक कार्य के उद्देश्य के बारे में अधिक जानकारी याद करने के लिए आवश्यक है। हम दो और अधिक विस्तार में रुचि ऑपरेटरों होगा: सम्मिलित करें और अद्यतन, क्योंकि यह उन पर निर्भर करता डेटा की बड़ी मात्रा के प्रसंस्करण में मुख्य कठिनाइयों निकाले जाते हैं।

आप कमांड डालें से प्रारंभ होना चाहिए, और फिर धीरे धीरे अद्यतन करने के लिए चलते हैं। MySQL प्रणाली, किसी भी अन्य आधुनिक डेटाबेस की तरह, मौजूदा तालिकाओं के लिए नए रिकॉर्ड जोड़ने के लिए सम्मिलित आपरेशन का उपयोग डेटाबेस। इस ऑपरेशन की वाक्य रचना बहुत सरल और सीधा है। तालिका के नाम - - यह क्षेत्र जो मूल्यों के लिए किया जाएगा, गंतव्य की एक सूची में शामिल है और तुरंत डेटा की एक सूची की शुरुआत की। हर बार जब आप सम्मिलित डेटाबेस प्रदर्शन नए मूल्यों के साथ अद्यतन किया जाएगा।

बयान अद्यतन

हालाँकि, व्यवहार में, अक्सर ऐसी परिस्थितियाँ होती है कि एक डेटा या अधिक विशेषता मान के कुछ सेट के लिए अद्यतन किया जाना है। एक उदाहरण के लिए, एक स्थिति है जहाँ कंपनी के मुख्य विभागों के आगे नाम के साथ सुधार किया गया है। इस मामले में यह प्रत्येक विभाग के लिए परिवर्तन करने के लिए आवश्यक है। अगर केवल नाम बदलने के लिए, तो समस्या बहुत जल्दी हल किया जा सकता। हालांकि, अगर पूरी उत्पादन, जो आमतौर पर प्राथमिक कुंजी, है कि रूप में कार्य करता के प्रत्येक घटक की कोडिंग को बदलने, बारी में, जानकारी के लिए और प्रत्येक कर्मचारी के लिए परिवर्तन जरूरत पर जोर देता।

अपडेट - DML-ऑपरेटर इस समस्या को हल करने के लिए लागू किया जा सकता। MySQL- सर्वर, प्रविष्टियों की एक बड़ी संख्या, एक अद्यतन बयान की मदद से साथ काम कर, आवश्यक क्वेरी निष्पादित और समस्या का समाधान। लेकिन कभी कभी घटित दौरान अद्यतन जटिलता को समझाने के लिए काफी स्पष्ट और मुश्किल नहीं है। यही कारण है कि अद्यतन रिकॉर्ड, आगे चर्चा की जाएगी की कठिनाई का कारण बनता है।

क्या छोटे से सिद्धांत में कहा गया है ...

अद्यतन टीम, जैसा कि ऊपर बताया गया है, तालिका में मौजूदा रिकॉर्ड को अद्यतन करने के लिए किया जाता है। लेकिन व्यवहार में, डेटाबेस सर्वर तक पहुँचने ग्राहकों हमेशा नहीं जाना जाता है, वहाँ टेबल या नहीं में डेटा की एक निश्चित सेट है। प्रारंभिक समय लेने वाली और सर्वर क्षमताओं की बर्बादी में परिणाम के बाद के अद्यतन करने के लिए डेटाबेस में डेटा की उपलब्धता की जाँच करें।

एक विशेष डेटाबेस MySQL संरचना में इससे बचने के लिए, - सम्मिलित * अद्यतन, जिसमें डालने या अद्यतन एक दूसरे से स्वतंत्र किया जा सकता है। यही कारण है कि जब तालिका एक विशेष स्थिति के लिए एक प्रवेश किया है, अद्यतन किया जाएगा है। स्थिति माना जाता है, डेटा नहीं मिला नहीं किया जाएगा, MySQL सर्वर डेटा अपलोड अनुरोध प्रदर्शन करने में सक्षम है।

डेटा अद्यतन है जब वहाँ डुप्लिकेट हैं

इस सम्मिलित का एक महत्वपूर्ण घटक - MySQL डेटाबेस प्रबंधन प्रणाली के लिए अनुरोध - उपसर्ग «नकली चाबी अद्यतन पर»। test_table (employer_id, में डालने «: क्वेरी की पूरी वाक्य रचना इस प्रकार है नाम) मूल्यों ( 1, 'अब्रामोव') डुप्लिकेट कुंजी पर अब LAST_MODIFIED = अद्यतन (); "।

इस तरह के एक अनुरोध है, उदाहरण के लिए, की कार्रवाई रिकॉर्ड चौराहे पारित होने के समय समय अंतराल और पहचान देरी गिनती के बाद उद्यम का निर्धारण किया जा सकता है। आदेश में तालिका में कुछ रिकॉर्ड, प्रत्येक कर्मचारी निरंतर अद्यतन करने के साथ रिकॉर्ड रखने के लिए के लिए पर्याप्त बनाने के लिए नहीं। यह एक नकली जांच डिजाइन यह अनुमति देता है।

असल में समस्याओं ...

प्रवेश द्वार पर पंजीकरण स्टाफ कार्रवाई के ऊपर के उदाहरण को देखते हुए, के रूप में समस्या उपयोग samouvelichivayuschihsya जो आम तौर पर प्राथमिक कुंजी मान को भरने के लिए उपयोग किया जाता है (ऑटो _ वेतन वृद्धि) क्षेत्रों, (प्राथमिक _ कुंजी) है। आप सम्मिलित करें के साथ डिजाइन में MySQL अद्यतन आदेश का उपयोग कर रहे हैं, तो ऑटो _ वेतन वृद्धि, क्षेत्र लगातार बढ़ रही है।

इसी तरह, सब कुछ जब डुप्लिकेट का पता लगाने के मामले में एक स्थानापन्न के निर्माण का उपयोग होता है। "स्वत: वेतन वृद्धि" मान भी मामले में जहां यह आवश्यक नहीं है में वृद्धि हुई है। इस वजह से, समस्याओं अतिप्रवाह पास मूल्यों या श्रेणियों, जो बाद में डाटाबेस प्रबंधन सिस्टम की खराबी के लिए नेतृत्व उत्पन्न होती हैं।

सबसे अधिक संभावना समस्या

समस्या,, वेब डेवलपर्स विचार किया जाना चाहिए के रूप में यह बहु उपयोगकर्ता सिस्टम (वेबसाइटों, पोर्टल, और इतने पर। पी) में सबसे आम है जब सिस्टम प्रक्रियाओं की एक बड़ी संख्या सम्मिलित निष्पादित किया जाता है का वर्णन करता है और अद्यतन MySQL।

पीएचपी - आधार के लिए अपील बहुत बार प्रदर्शन किया। इसलिए, अधिकतम मार्जिन, auto_increment के रूप में परिभाषित प्राप्त करने के लिए, तेजी से होता है, और कठिनाइयों के विश्लेषण में स्थापित करने के लिए कारणों से सिर्फ काम नहीं करेगा का सामना करना पड़ा।

इसलिए, डेवलपर्स आदेश mysql अद्यतन में डुप्लिकेट कुंजी पर डिजाइन का उपयोग करने के चौकस होने के लिए प्रोत्साहित किया जाता है। चयन - प्रश्नों जब तक पहुँचने डेटाबेस सर्वर त्रुटि के बिना काम करेंगे, लेकिन डेटाबेस के लिए नए रिकॉर्ड के अलावा गंभीर समस्याओं को भविष्य नेतृत्व में अप्रिय स्थितियों से भरा है। वैकल्पिक रूप से, यह सिफारिश की है के लिए स्वत: वेतन वृद्धि क्षेत्रों शुरू में उनके रिकॉर्ड के लिए जाँच, और फिर उन्हें अद्यतन रखें।

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 hi.unansea.com. Theme powered by WordPress.