SQLite
उत्तर
SQLite प्राथमिक कुंजी के रूप में data type का उपयोग करने की अनुमति देता है।
यूयूआईडी को स्ट्रिंग्स (जो मानव-पठनीय हैं) या 16-बाइट बीएलओबी के रूप में संग्रहीत किया जा सकता है (जो रिकॉर्ड इतने छोटे हो सकते हैं कि अंतर इतना महत्वपूर्ण है)।
सीएल का जवाब सही है लेकिन इस तरह की समस्याएं स्कर्ट को हाथ में रखती हैं। जैसा कि बताया गया है, किसी भी प्रकार का कॉलम (या एकाधिक कॉलम) प्राथमिक कुंजी के रूप में उपयोग किया जा सकता है। तो आप स्वरूपित, मानव-पठनीय स्ट्रिंग प्रारूप में यूयूआईडी स्टोर कर सकते हैं और अपनी तालिका की कुंजी बना सकते हैं। और चूंकि यूयूआईडी सिर्फ 128-बिट पूर्णांक है, इसलिए आप पूर्णांक के बाइट्स को बीएलओबी के रूप में भी स्टोर कर सकते हैं, जो मुझे लगता है कि थोड़ा तेज होगा।
लेकिन अधिक सीधे जवाब देने के लिए मुझे लगता है कि सवाल है, नहीं, SQLite में कोई भी विशेषताएं नहीं है जो सीधे यूयूआईडी का समर्थन करती है। SQLite कॉलम के घोषित प्रकार का उपयोग यह निर्धारित करने के लिए करता है कि पांच अंतर्निहित storage classes (पूर्णांक, वास्तविक, पाठ, ब्लॉब या शून्य) का उपयोग किस प्रकार किया जाएगा। लेकिन एक कॉलम के घोषित प्रकार को अन्यथा अनदेखा किया जाता है। तो कोई यूयूआईडी-विशिष्ट कॉलम प्रकार या स्टोरेज क्लासेस नहीं हैं। प्रारूपित यूयूआईडी स्ट्रिंग में कनवर्ट करने के लिए उपलब्ध functions भी प्रतीत नहीं होता है। अपने यूयूआईडी बाइट्स प्राप्त करने के लिए, आप देखना चाहते हैं कि आपके एप्लिकेशन में लिखी गई भाषा द्वारा कौन सी विधियां प्रदान की जाती हैं। एक्समैपल के लिए, जावा के UUID कक्षा या ऐप्पल के NSUUID।
डिफ़ॉल्ट क्षेत्र के रूप में उपयोग के बारे में सुनिश्चित नहीं हैं, लेकिन किसी को इस्तेमाल किया जा सकता दृष्टिकोण suggested here निम्नलिखित SQLite क्वेरी में अनूठा मूल्य उत्पन्न करने के लिए की जरूरत है:
randomblob (एन) समारोह एक एन-बाइट ब्लॉब युक्त छद्म वापसी यादृच्छिक बाइट्स। यदि एन 1 से कम है तो 1-बाइट यादृच्छिक ब्लॉब वापस कर दिया जाता है। सुझाव: अनुप्रयोगों हेक्स के साथ मिलकर इस समारोह का उपयोग कर विश्व में एकमात्र पहचान उत्पन्न कर सकते हैं() और/या कम() इस तरह:
hex(randomblob(16))
या
lower(hex(randomblob(16)))
- 1. SQLite अपवाद: SQLite व्यस्त
- 2. SQLite
- 3. SQLite
- 4. SQLite
- 5. SQLite
- 6. SQLite
- 7. SQLite
- 8. SQLite
- 9. SQLite
- 10. SQLite
- 11. SQLite
- 12. SQLite
- 13. SQLite
- 14. SQLite
- 15. SQLite
- 16. SQLite
- 17. SQLite
- 18. sqlite
- 19. SQLite
- 20. SQLite
- 21. SQLite
- 22. SQLite
- 23. SQLite
- 24. SQLite
- 25. SQLite
- 26. sqlite
- 27. sqlite
- 28. SQLite
- 29. SQLite
- 30. SQLite
उन डेटा प्रकार के या तो अधिक कुशल हैं यूयूआईडी भंडारण के लिए दूसरे की तुलना में? –
अन्य पाठकों के लिए ... मानव-पठनीय 36-वर्ण हेक्स स्ट्रिंग इस तरह दिखता है: '988097c8-3f9c-4ecf-9d1d-64701bb9764c' –
UUID BLOB बनाम टेक्स्ट फ़ाइल आकार का मामला है, हालांकि, सम्मिलित करने और क्वेरी की गति के बारे में है वही, देखें http://stackoverflow.com/a/11337522/254109 – xmedeko