Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

यूयूआईडी को बाइनरी के रूप में सम्मिलित करना और चुनना(16)

तो, टिप्पणियों के जवाब के रूप में। 36-चार यूयूआईडी को बाइनरी(16) के रूप में स्टोर करने का सही तरीका इस तरह से इंसर्ट करना है:

INSERT INTO sometable (UUID) VALUES
       (UNHEX(REPLACE("3f06af63-a93c-11e4-9797-00505690773f", "-","")))

UNHEX क्योंकि एक यूयूआईडी पहले से ही एक हेक्साड मान है। हम ट्रिम करते हैं (REPLACE ) स्टेटमेंट में डैश की लंबाई 32 वर्णों तक लाने के लिए (हमारे 16 बाइट्स HEX के रूप में दर्शाए गए हैं) ) जाहिर है, इसे स्टोर करने से पहले आप इसे किसी भी समय कर सकते हैं, इसलिए इसे डेटाबेस द्वारा नियंत्रित करने की आवश्यकता नहीं है।

आप यूयूआईडी को इस तरह पुनः प्राप्त कर सकते हैं:

SELECT HEX(UUID) FROM sometable;

बस अगर कोई इस धागे में आता है और अनिश्चित है कि यह कैसे काम करता है।

और याद रखें:यदि आप UUID का उपयोग करके एक पंक्ति का चयन कर रहे हैं, तो UNHEX() का उपयोग करें शर्त पर :

SELECT * FROM sometable WHERE UUID = UNHEX('3f06af63a93c11e4979700505690773f');

या शाब्दिक संकेत (जैसा कि एलेक्सिस विल्के ने बताया है):

SELECT * FROM sometable WHERE UUID = 0x3f06af63a93c11e4979700505690773f;

और नहीं HEX() कॉलम पर:

SELECT * FROM sometable WHERE HEX(UUID) = '3f06af63a93c11e4979700505690773f';

अंतिम समाधान, जबकि यह काम करता है, की आवश्यकता है कि MySQL HEX es सभी UUIDs इससे पहले कि यह निर्धारित कर सके कि कौन सी पंक्तियाँ मेल खाती हैं। यह बहुत अक्षम है।

संपादित करें:यदि आप MySQL 8 का उपयोग कर रहे हैं, तो आपको SlyDave के उत्तर में उल्लिखित UUID कार्यों पर एक नज़र डालनी चाहिए। यह उत्तर अभी भी सही है, लेकिन यह यूयूआईडी इंडेक्स को अनुकूलित नहीं करता है जो उन कार्यों का उपयोग करके मूल रूप से किया जा सकता है। यदि आप

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटाबेस से यादृच्छिक पंक्तियों को कैसे प्रतिध्वनित करें?

  2. MySQL डेटाबेस को UTF-8 एन्कोडिंग में कैसे बदलें

  3. त्रुटि:तालिका '<तालिका-नाम>' के लिए उपयोगकर्ता '<userid>'@'<ip-address>' को कमांड अस्वीकृत का चयन करें

  4. एक मान के लिए एकाधिक स्तंभों की जाँच करना

  5. MySQL- Wamp सर्वर win10 अपग्रेड के बाद काम नहीं कर रहा है