2012-06-15 14 views
5

मुझे एहसास है कि tinyint एक बाइट इंटीजर है (वैसे, क्या यह हस्ताक्षरित है या हस्ताक्षरित है?)। तर्क (3) क्या संकेत है? मैंने खोज की है और जवाब नहीं मिला।tinyint (3) का अर्थ SQLite में क्या है?

+0

देख मैं SQLite उपयोग कर रहा हूँ और मैं डॉन 'tinyint' और 'tinyint (3)' के बीच कोई अंतर नहीं दिखता है। – mk12

+2

@ एमके 12 ऐसा इसलिए है क्योंकि SQLite "नकली उपकरण" डेटा-प्रकार (मूल रूप से, यह वाक्यविन्यास स्वीकार करता है लेकिन अन्यथा इसे अनदेखा करता है)। ठीक मैनुअल पढ़ें। –

उत्तर

3

MySQL कॉलम प्रकार परिभाषाओं के बारे में this blog page देखें।

संख्यात्मक प्रकारों के लिए लम्बाई संशोधक वास्तव में चौड़ाई प्रदर्शित करता है, जिसमें क्षेत्र में संग्रहीत किए जा सकने वाले कुछ भी नहीं है। हां, यह है - दोनों TINYINT (1) और TINYINT (4) दोनों मानों को रेंज -128..127 (या हस्ताक्षरित मान 0..255 के लिए) में स्टोर कर सकते हैं, और एक समान मोड़ के साथ बिल्कुल समान डेटाटाइप हैं (जो आज की चिंताओं की तारीख है पुनर्प्राप्ति - नीचे देखें)।

प्रदर्शन चौड़ाई मूल्यों उस कॉलम में संग्रहित किया जा सकता की सीमा विवश नहीं करता है, और न ही प्रदर्शित किए जाते हैं अंकों की संख्या: यहाँ प्रदर्शन चौड़ाई, स्रोत से सीधे ले जाया मतलब है की व्याख्या है कॉलम के लिए निर्दिष्ट चौड़ाई वाले मानों के लिए। उदाहरण के लिए, SMALLINT (3) के रूप में निर्दिष्ट कॉलम की सामान्य SMALLINT रेंज -32768 से 32767 है, और तीन वर्णों द्वारा अनुमत सीमा के बाहर मान तीन से अधिक वर्णों का उपयोग करके प्रदर्शित होते हैं।

+0

प्रश्न SQLite के बारे में था, लेकिन मुझे एहसास हुआ कि ओपी ने उत्तर देने के बाद इस परिशुद्धता को जोड़ा। दूसरा जवाब अब अधिक प्रासंगिक है, यह सुनिश्चित नहीं है कि यह क्यों स्वीकार किया जाता है। – Benjamin

5

SQLite "नकली औजार" कॉलम पर डेटा-प्रकार के। असल में, यह मानक एसक्यूएल वाक्यविन्यास स्वीकार करता है लेकिन अन्यथा इसे अनदेखा करता है। (लेकिन टाइप एफ़िनिटी और कॉरर्सन देखें।)

"अंतर" दस्तावेज में Manifest Typing देखें।

अधिकांश SQL डेटाबेस इंजन स्थैतिक टाइपिंग का उपयोग करते हैं। एक डेटाटाइप एक तालिका में प्रत्येक कॉलम से जुड़ा होता है और उस कॉलम में उस विशेष डेटाटाइप के केवल मूल्यों को संग्रहीत करने की अनुमति है। SQLite मेनिफेस्ट टाइपिंग का उपयोग करके इस प्रतिबंध को आराम देता है। मैनिफेस्ट टाइपिंग में, डेटाटाइप मूल्य की एक संपत्ति है, कॉलम की नहीं जिसमें मूल्य संग्रहीत किया जाता है। SQLite इस प्रकार उपयोगकर्ता को कॉलम के घोषित प्रकार के बावजूद किसी भी डेटाटाइप के किसी भी कॉलम को स्टोर करने की अनुमति देता है। (इस नियम के कुछ अपवाद हैं: एक पूर्णांक प्राथमिक कुंजी स्तंभ हो सकता है केवल दुकान पूर्णांकों और मजबूर करने के लिए SQLite प्रयास स्तंभ की घोषणा की डेटाप्रकार में मूल्यों जब यह कर सकते हैं।।)

इसके अलावा Datatypes in SQLite Version 3 देख सकते हैं और टाइप एफ़िनिटी:

किसी स्तंभ का आत्मीयता स्तंभ के घोषित प्रकार से निर्धारित होता है क्रम में निम्नलिखित नियमों से पता चला के अनुसार,:

  • यदि घोषित प्रकार में "INT" स्ट्रिंग है तो इसे INTEGER एफ़िनिटी असाइन की जाती है।

  • [अन्य संक्षिप्तता के लिए छोड़े गए नियम]


अन्य डेटाबेस के लिए, उपयुक्त डेटाबेस विशिष्ट प्रलेखन :-)

संबंधित मुद्दे