मारियाडीबी में, UUID_SHORT()
एक अंतर्निहित फ़ंक्शन है जो एक छोटा यूनिवर्सल यूनिक आइडेंटिफ़ायर (UUID) देता है।
यह एक 64-बिट अहस्ताक्षरित पूर्णांक देता है (जैसा कि UUID()
द्वारा लौटाए गए स्ट्रिंग-फॉर्म 128-बिट पहचानकर्ता के विपरीत है समारोह)।
सिंटैक्स
वाक्य रचना इस प्रकार है:
UUID_SHORT()
इसलिए, किसी तर्क की आवश्यकता नहीं है (या स्वीकृत)।
उदाहरण
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है:
SELECT UUID_SHORT();
परिणाम:
+-------------------+ | UUID_SHORT() | +-------------------+ | 99291717236162560 | +-------------------+
अगर मैं इसे दूसरी बार कॉल करता हूं, तो मुझे एक अलग मान मिलता है:
SELECT UUID_SHORT();
परिणाम:
+-------------------+ | UUID_SHORT() | +-------------------+ | 99291717236162561 | +-------------------+
परिणाम के बारे में
UUID_SHORT()
द्वारा लौटाया गया मान यदि निम्न शर्तें सत्य हैं, तो अद्वितीय होने की गारंटी है:
server_id
वर्तमान होस्ट का आपके मास्टर और स्लेव सर्वरों के सेट के बीच अद्वितीय हैserver_id
0
. के बीच है और255
- आप अपने सर्वर के लिए अपना सिस्टम समय
mysqld
. के बीच सेट नहीं करते हैं पुनरारंभ होता है - आप
UUID_SHORT()
का आह्वान नहीं करते हैंmysqld
. के बीच औसतन प्रति सेकंड 16 मिलियन से अधिक बार पुनरारंभ होता है
ध्यान दें कि UUID_SHORT()
. का उपयोग करने वाले कथन कथन-आधारित प्रतिकृति के लिए फ़ंक्शन सुरक्षित नहीं हैं।
की तुलना में UUID()
समारोह
UUID_SHORT()
by द्वारा लौटाया गया परिणाम UUID()
द्वारा लौटाए गए के समान है फ़ंक्शन, सिवाय इसके कि परिणाम UUID()
. द्वारा लौटाया गया है aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
में पांच हेक्साडेसिमल संख्याओं की utf8 स्ट्रिंग द्वारा दर्शाई गई 128-बिट संख्या है प्रारूप।
यहां दोनों की तुलना की गई है:
SELECT
UUID(),
UUID_SHORT();
परिणाम:
+--------------------------------------+-------------------+ | UUID() | UUID_SHORT() | +--------------------------------------+-------------------+ | e67d0fc6-cd8d-11eb-be04-88e9fe739f3d | 99291717236162562 | +--------------------------------------+-------------------+
इसके अलावा, मारियाडीबी 10.6.1 से, एक SYS_GUID()
Oracle संगतता बढ़ाने के लिए फ़ंक्शन जोड़ा गया है।
कोई तर्क नहीं
जैसा कि बताया गया है, UUID_SHORT()
किसी तर्क को स्वीकार नहीं करता। जब मैं तर्क पास करता हूँ तो क्या होता है:
SELECT UUID_SHORT(3);
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'UUID_SHORT'