एक वर्ण स्ट्रिंग डेटा प्रकार के लिए एक वर्ण सेट बाइनरी विशेषता निर्दिष्ट करने पर, MySQL उस कॉलम को उसके बाद के बाइनरी स्ट्रिंग प्रकार के रूप में बनाता है। CHAR, VARCHAR और BLOB डेटा प्रकारों के लिए रूपांतरण निम्नानुसार होते हैं -
- चार बिनरी बन जाएगा
- VARCHAR VARBINARY बन जाएगा
- पाठ BLOB बन जाएगा
उपरोक्त प्रकार का रूपांतरण ENUM और SET डेटा प्रकार के लिए नहीं होता है और वे दोनों तालिका बनाते समय घोषित किए गए हैं।
उदाहरण
नीचे दिए गए उदाहरण में हमने 'ईएमपी' नाम की एक टेबल बनाई है, जिसमें चार कॉलम हैं, जो सभी को CHARACTER SET बाइनरी के रूप में निर्दिष्ट किया गया है -
mysql> Create table Emp(Name varchar(10) CHARACTER SET binary, Address CHAR(10)CHARACTER SET binary, Designation TEXT CHARACTER SET binary, Field ENUM('ENG','SS') CHARACTER SET binary); Query OK, 0 rows affected (0.16 sec)
लेकिन अब तालिका की स्थिति की जाँच करने पर, नीचे दी गई क्वेरी की मदद से, हम देख सकते हैं कि MySQL ने अपने बाद के बाइनरी स्ट्रिंग के अनुसार डेटा प्रकार को बदल दिया है।
mysql> Show Create Table EMP\G *************************** 1. row *************************** Table: EMP Create Table: CREATE TABLE `emp` ( `Name` varbinary(10) DEFAULT NULL, `Address` binary(10) DEFAULT NULL, `Designation` blob, `Field` enum('ENG','SS') CHARACTER SET binary DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 1 row in set (0.00 sec)