MySQL में `अहस्ताक्षरित 'का क्या अर्थ है और इसका उपयोग कब करना है?


278

MySQL में "अहस्ताक्षरित" का क्या अर्थ है और मुझे इसका उपयोग कब करना चाहिए?

जवाबों:


527

MySQL का कहना है:

सभी पूर्णांक प्रकारों में एक वैकल्पिक (गैर-मानक) विशेषता हो सकती है। अनसाइन किए गए प्रकार का उपयोग केवल कॉलम में नॉनजेगेटिव नंबरों को अनुमति देने के लिए किया जा सकता है या जब आपको कॉलम के लिए एक बड़े अपर न्यूमेरिक रेंज की आवश्यकता होती है । उदाहरण के लिए, यदि कोई INT स्तंभ UNSIGNED है, तो स्तंभ की श्रेणी का आकार समान है लेकिन इसका समापन बिंदु -2147483648 और 2147483647 से 0 और 4294967295 तक है।

मैं इसका उपयोग कब करूं?

अपने आप से यह सवाल पूछें: क्या इस क्षेत्र में कभी नकारात्मक मूल्य होगा ?
यदि उत्तर नहीं है, तो आप एक UNSIGNEDडेटा प्रकार चाहते हैं ।

एक सामान्य गलती एक प्राथमिक कुंजी का उपयोग करना है जो शून्यINT पर शुरू होने वाली एक ऑटो-इंक्रीमेंट है , फिर भी प्रकार है SIGNED, उस स्थिति में आप कभी भी किसी भी नकारात्मक संख्या को नहीं छूएंगे और आप संभावित आईडी की सीमा को आधा कर रहे हैं।


8
चीजों के 'आकार' का प्रतिनिधित्व करने वाले मूल्य, जैसे किसी ऑर्डर पर किसी विशेष वस्तु की मात्रा, या दो स्थानों के बीच की दूरी, आमतौर पर अहस्ताक्षरित होगी
एकल

31
महान जवाब, अजीब लगता है कि mysql अहस्ताक्षरित करने के लिए डिफ़ॉल्ट नहीं होगा जब वे ऑटो वेतन वृद्धि की पहचान कर रहे हों?
वायर्ड 00

3
यदि आप अधिक स्पष्ट उत्तर चाहते हैं तो इस stackoverflow.com/a/11515613/6335029
NaveenDA

मैं वास्तव में चाहता हूं कि एक positiveविशेषता भी थी , क्योंकि यह और भी सामान्य लगता है कि आप केवल सकारात्मक, गैर शून्य संख्या के साथ काम करना चाहते हैं।
still_dreaming_1
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.