"Allow Null"
का अर्थ क्या है, और यह क्या करता है?माइस्क्ल: नल का अर्थ दें
उत्तर
"नल को अनुमति दें" का अर्थ समझने के लिए, आपको यह समझने की आवश्यकता है कि NULL
क्या है, और समझें कि यह केवल शून्य या खाली स्ट्रिंग के लिए अलग है।
NULL
एसक्यूएल में एक विशेष मूल्य है। यह डेटा इंगित करता है जो मौजूद नहीं है। यह रिक्त डेटा के लिए अलग है।
जब आप MySQL में कोई तालिका बनाते हैं, तो यह आपको यह निर्दिष्ट करने की अनुमति देता है कि आपके फ़ील्ड को NULL
होने की अनुमति है या नहीं। यदि आप "अनुमति दें" निर्दिष्ट करते हैं, तो उन क्षेत्रों में NULL
मानों के साथ रिकॉर्ड बनाना संभव होगा।
यह कुछ मामलों में आपके लिए उपयोगी हो सकता है। उदाहरण के लिए, एक हां/नहीं फ़ील्ड एक बुलियन मान हो सकता है, लेकिन यदि उपयोगकर्ता ने अपनी वरीयता निर्दिष्ट नहीं की है, तो आप हां या नहीं करने के बजाय इसे इंगित करने के लिए NULL
पर सेट करना चाहेंगे।
हालांकि कई मामलों में NULL
समस्याग्रस्त हो सकता है। NULL
पर सेट किए गए फ़ील्ड प्रश्नों में अप्रत्याशित परिणाम उत्पन्न कर सकते हैं, क्योंकि NULL
सभी मामलों में अन्य मानों के समान नियमों का पालन नहीं करता है। उदाहरण: यदि आप ऊपर दिए गए उदाहरण फ़ील्ड WHERE myfield != 1
से पूछते हैं, तो आप उन सभी रिकॉर्ड्स के परिणाम प्राप्त करने की उम्मीद कर सकते हैं जो 1 के बराबर नहीं हैं। हालांकि NULL
फ़ील्ड वापस नहीं किए जाएंगे; आपको उनके लिए एक विशेष मामला लिखना होगा।
NULL
JOIN
क्वेरी करते समय डिफ़ॉल्ट मान के रूप में भी उपयोग किया जाता है जहां कुछ परिणामों में शामिल होने के लिए रिकॉर्ड नहीं होता है। शामिल तालिका से अज्ञात फ़ील्ड सभी को NULL
पर सेट किया जाएगा।
सामान्य रूप से, यदि आप सुनिश्चित नहीं हैं कि "अनुमति दें" के साथ क्या करना है, तो सबसे सुरक्षित विकल्प इसे बिना किसी अनुमति के सेट करना है।
अधिक जानकारी के लिए Wikipedia entry for NULL in SQL देखें।
उम्मीद है कि मदद करता है।
नल को अनुमति देने का अर्थ है कि जब आप उस डेटा को भरने के लिए को पर डेटा बदलते या डालें तो यह अनिवार्य नहीं है।
आपके उत्तर के लिए धन्यवाद! –
संक्षेप में, यदि आप एक शून्य मान की अनुमति देते हैं तो आप कह रहे हैं कि प्रश्न वाले क्षेत्र में वैध मान हो सकता है (उदाहरण: 2011-04-02 यदि यह एक तिथि थी) साथ ही साथ "न्यूल" (या " कोई मूल्य नहीं")।
इस तरह, यदि आप एक ऐसी स्थिति की कल्पना करते हैं जहां एक क्षेत्र अनिवार्य था, तो इसे हमेशा स्कीमा घोषणा में NOT NULL
के रूप में दर्शाया जाना चाहिए, जबकि एक वैकल्पिक फ़ील्ड को छोड़ दिया जा सकता है।
अधिक जानकारी के लिए, MySQL मैनुअल, जो (अन्य बातों के साथ) बड़े करीने से बातें इस प्रकार का सारांश दिया की Working with NULL Values अनुभाग में देखें: सैद्धांतिक रूप
, शून्य का अर्थ है "एक लापता अज्ञात मान" और यह व्यवहार किया जाता है कुछ अन्य मानों से कुछ अलग है।
महान उत्तर और लिंक के लिए धन्यवाद। मैं निश्चित रूप से इसे पढ़ूंगा। –
- 1. findbug में संभावित नल पॉइंटर डेरफर का अर्थ क्या है?
- 2. "ऑर्डर द्वारा (चुनें नल)" का अर्थ क्या है?
- 3. जेडीबीसी माइस्क्ल
- 4. माइस्क्ल डीबी
- 5. चयन नल का उपयोग?
- 6. नल
- 7. माइस्क्ल: ट्रिगर्स का उपयोग कब करें
- 8. माइस्क्ल - आईपी एड्रेस
- 9. माइस्क्ल: जैसे आदेश?
- 10. जेक्वायरी, पीएचपी, माइस्क्ल
- 11. माइस्क्ल बी + ट्री कार्यान्वयन
- 12. माइस्क्ल - प्राथमिक कुंजी
- 13. माइस्क्ल SELECT गति
- 14. माइस्क्ल इंडेक्स कॉन्फ़िगरेशन
- 15. एसक्यूएल और माइस्क्ल
- 16. माइस्क्ल विजुअलाइजेशन टूल्स
- 17. एसक्लाइट को माइस्क्ल
- 18. माइस्क्ल, हैंडलरकेट और विभाजन?
- 19. एरलांग: मेनेसिया या माइस्क्ल?
- 20. रेल 3 माइस्क्ल समस्याएं
- 21. माइस्क्ल AVG शून्य
- 22. का अर्थ -
- 23. कॉलम नल डिफ्रैरबल
- 24. माइस्क्ल, लंबे/लंबे से विस्तृत
- 25. माइस्क्ल सबक्वायरी परिणाम "कहां" खंड
- 26. माइस्क्ल डेटाबेस में डेटाटाइम प्रकार
- 27. माइस्क्ल - एक कॉलम को AUTO_INCREMENT
- 28. नल वस्तु एक मान होना चाहिए
- 29. माइस्क्ल डेडलॉक स्पष्टीकरण की आवश्यकता
- 30. कैनोटएक्वायर लॉकएक्सप्शन (स्प्रिंग, हाइबरनेट, माइस्क्ल)
धन्यवाद! वास्तव में अच्छी तरह से समझाया। –
+1 समझने में बहुत आसान है, धन्यवाद –