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

MySQL बाइनरी बनाम चार कैरेक्टर सेट बाइनरी

कोई अंतर नहीं है।

हालांकि, यदि आप एक स्ट्रिंग संग्रहित कर रहे हैं तो एक चेतावनी है।

यदि आप केवल एक बाइट सरणी या अन्य बाइनरी डेटा जैसे स्ट्रीम या फ़ाइल को स्टोर करना चाहते हैं तो बाइनरी प्रकार का उपयोग करें क्योंकि वे उसी के लिए हैं।

MySQL मैन्युअल से उद्धरण :

तो, तकनीकी रूप से कोई अंतर नहीं है।

हालांकि, एक स्ट्रिंग को संग्रहीत करते समय इसे एक वर्ण सेट का उपयोग करके स्ट्रिंग से बाइट मानों में परिवर्तित किया जाना चाहिए। निर्णय यह है कि या तो इसे MySQL सर्वर से पहले स्वयं करें या आप इसे MySQL पर छोड़ दें। MySQL BINARY . पर एक स्ट्रिंग कास्ट करके प्रदर्शन करेगा बिन वर्ण सेट का उपयोग करना।

यदि आप एन्कोडिंग को किसी अन्य प्रारूप में संग्रहीत करना चाहते हैं, तो मान लें कि आपके पास एक व्यावसायिक आवश्यकता है जो कहती है कि आपको प्रति वर्ण 4 बाइट्स का उपयोग करना चाहिए (MySQL डिफ़ॉल्ट रूप से ऐसा नहीं करता है) तो आप CHARACTER SET BINARY एक टेक्स्ट कॉलम में और वर्ण सेट एन्कोडिंग स्वयं करें।

यह पढ़ने लायक भी है The BINARY और वर्बिनरी प्रकार यह MySQL मैनुअल से पैडिंग जैसी महत्वपूर्ण जानकारी का विवरण देता है।

सारांश: कोई तकनीकी अंतर नहीं है क्योंकि एक दूसरे का पर्याय है। मेरी राय में यह डेटा प्रकारों में बाइनरी स्ट्रिंग्स को स्टोर करने के लिए तार्किक समझ में आता है जो आमतौर पर CHARACTER SET BINARY का उपयोग करके एक स्ट्रिंग रखता है। और बाइट एरे/स्ट्रीम आदि को BINARY . में स्टोर करने के लिए फ़ील्ड जिन्हें वर्ण सेट के बावजूद डेटा को रूपांतरित करके प्रदर्शित नहीं किया जा सकता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL रूट पासवर्ड कैसे निकालें

  2. MySQL और जाँच की कमी

  3. MySQL गलत डेटाटाइम मान:'0000-00-00 00:00:00'

  4. डुप्लिकेट डेटा को mysql डेटाबेस में दर्ज होने से रोकें

  5. कॉलम उपनाम के साथ स्प्रिंग बैच सॉर्ट कुंजी के रूप में - विकृत जहां कथन