2011-12-07 10 views
9

मैं SQLITE के लिए बिल्कुल नया हूं और मैंने देखा कि केवल 4 डेटाटाइप हैं लेकिन मुझे ऑनलाइन उदाहरण दिखाई देते हैं जहां लोग अपने स्वयं के डेटाटाइप डाल रहे हैं। मैं वास्तव में यह समझ नहीं पा रहा हूं और सोच रहा था कि कोई मुझे यह समझा सकता है। उदाहरण के लिए, मुझे एक कॉलम दिखाई देता है जिसमें एक तिथि होगी और डेटाटाइप दिया गया था जो टाइमस्टैम्प था जो मौजूद नहीं था। यह डिफ़ॉल्ट क्या है? जब आप अपना खुद का बनाते हैं तो क्या यह टेक्स्ट पर डिफ़ॉल्ट होता है?SQLITE कस्टम डेटा टाइप?

उत्तर

14

sqlite3 गतिशील प्रकार प्रणाली का उपयोग करता है। केवल पांच स्टोरेज कक्षाएं हैं: न्यूल, पूर्णांक, वास्तविक, टेक्स्ट और ब्लॉब। (स्रोत:। Datatypes In SQLite Version 3)

और, उस पृष्ठ उद्धृत करने के लिए:

एक SQLite संस्करण 3 डेटाबेस में कोई स्तंभ, एक पूर्णांक प्राथमिक कुंजी स्तंभ को छोड़कर, किसी भी भंडारण वर्ग के एक मूल्य के स्टोर करने के लिए इस्तेमाल किया जा सकता ।

integer primary key अपवाद के अलावा, SQLite प्रकारों को लागू नहीं करता है। जिसका अर्थ है कि आपके create table में आपके द्वारा डाला गया प्रकार का नाम पूरी तरह से जानकारीपूर्ण है।

create table mytab (a apples, b bananas); 

मान्य create table कथन है। आप दोनों कॉलम में टाइमस्टैम्प, टेक्स्ट, ब्लब्स डाल सकते हैं (यह नहीं कह रहे कि आप चाहिए, लेकिन आप कर सकते हैं)।

अधिक जानकारी के लिए टाइप सिस्टम के लिए लिंक किए गए संदर्भ दस्तावेज को देखें।

sqlite> create table mytab (a apples, b bananas); 
sqlite> insert into mytab values (CURRENT_TIME, NULL); 
sqlite> insert into mytab values ('hello', 3.14159); 
sqlite> select * from mytab; 
14:59:18| 
hello|3.14159 

सीधे अपने प्रश्न का उत्तर देने के लिए: कोई डिफ़ॉल्ट नहीं है। एक भंडारण प्रकार डेटाबेस में संग्रहीत प्रत्येक मान से जुड़ा होता है, तालिका के कॉलम के लिए नहीं।

+0

धन्यवाद मैट, यह वही है जो मैं ढूंढ रहा था – Pittfall

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