ในการระบุแอตทริบิวต์ไบนารีของ CHARACTER SET สำหรับประเภทข้อมูลสตริงอักขระ MySQL จะสร้างคอลัมน์นั้นเป็นประเภทสตริงไบนารีที่ตามมา การแปลงประเภทข้อมูล CHAR, VARCHAR และ BLOB เกิดขึ้นดังนี้ -
- CHAR จะกลายเป็นไบนารี
- VARCHAR จะกลายเป็น VARBINARY
- TEXT จะกลายเป็น 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)