একটি অক্ষর স্ট্রিং ডেটা টাইপের জন্য একটি CHARACTER SET বাইনারি অ্যাট্রিবিউট নির্দিষ্ট করার সময়, MySQL সেই কলামটিকে তার পরবর্তী বাইনারি স্ট্রিং টাইপ হিসাবে তৈরি করে। CHAR, VARCHAR এবং BLOB ডেটা প্রকারের রূপান্তরগুলি নিম্নরূপ হয় -
- CHAR বাইনারি হয়ে যাবে
- VARCHAR VARBINARY হয়ে যাবে
- পাঠ্য BLOB হয়ে যাবে
উপরের ধরনের রূপান্তর ENUM এবং SET ডেটা টাইপের জন্য ঘটবে না এবং টেবিল তৈরি করার সময় এগুলি উভয়ই ঘোষিত হিসাবে তৈরি করা হয়েছে৷
উদাহরণ
নীচের উদাহরণে আমরা চারটি কলাম সহ 'EMP' নামে একটি টেবিল তৈরি করেছি যার সবগুলিকে 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)