मैं स्तंभ प्रकार के Long
बजाय एक तालिका बनाना चाहता हूं Integer
। क्या यह संभव है?
मैं स्तंभ प्रकार के Long
बजाय एक तालिका बनाना चाहता हूं Integer
। क्या यह संभव है?
जवाबों:
से SQLite डॉक्स
पूर्णांक । मान एक हस्ताक्षरित पूर्णांक है, जो मूल्य के परिमाण के आधार पर 1, 2, 3, 4, 6, या 8 बाइट्स में संग्रहीत है।
चूंकि long
8 बाइट है और 8 बाइट के INTEGER
मूल्यों को भी बचा सकता है, आप उपयोग कर सकते हैं INTEGER
।
int
, सुनिश्चित करें कि आप लंबे समय तक उपयोग कर रहे हैं।
स्तंभ को एक INTEGER
प्रकार के रूप में बनाएँ :
db.execSQL("CREATE TABLE IF NOT EXISTS " + TABLE_A + "("
+ KEY + " INTEGER" + ")");
long
मान को INTEGER
स्तंभ में रखें :
contentValues.put(KEY, object.getLongValue());
db.insert(TABLE_A, null, contentValues);
महत्वपूर्ण: कर्सर से मान को पुनः प्राप्त करेंLONG
Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_A, null);
long value = cursor.getLong(0);
मुझे नहीं लगता कि टाइप लंबा है। या तो आप INTEGER (या) न्यूमेरिक का उपयोग कर सकते हैं। यहाँ समर्थित डेटा प्रकारों के साथ लिंक है http://www.sqlite.org/datatype3.html
उनके उपरोक्त लिंक में 64 बिट इंटेगर या अनिवार्य रूप से एक लंबा, दर्शाया गया है कि इंटाइट, पूर्णांक, बिगिंट आदि जैसे SQLite पूर्णांक डेटा प्रकारों में क्या अंतर है?
SQLIte सेट करेगा उपयुक्त पूर्णांक चौड़ाई आपके इनपुट पर निर्भर करती है
पूर्णांक स्टोर कर सकते हैं लंबे समय तक लेकिन से लंबे समय से प्राप्त करने के लिए कर्सर इस तरह करना चाहिए:
int type = cursor.getType(j);
String value = cursor.getString(j);
try {
int intValue = Integer.parseInt(value);
field.set(object, intValue);
} catch (NumberFormatException e) {
long longValue = Long.parseLong(value);
field.set(object, longValue);
}
मैं इसका उपयोग sqlite में टाइमस्टैम्प को स्टोर करने के लिए करता हूँ