Khi chỉ định thuộc tính CHARACTER SET binary cho kiểu dữ liệu chuỗi ký tự, MySQL tạo cột đó thành kiểu chuỗi nhị phân tương ứng. Các chuyển đổi cho CHAR, VARCHAR và TEXT diễn ra như sau:
- CHAR trở thành BINARY
- VARCHAR trở thành VARBINARY
- TEXT trở thành BLOB
Loại chuyển đổi trên không xảy ra với kiểu ENUM và SET; cả hai được tạo như khai báo khi tạo bảng.
Ví dụ
Trong ví dụ dưới, chúng ta tạo bảng 'EMP' với bốn cột đều chỉ định CHARACTER SET binary như sau:
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)
Nhưng bây giờ khi kiểm tra trạng thái bảng, với truy vấn dưới, ta thấy MySQL đã đổi kiểu dữ liệu theo kiểu nhị phân tương ứng.
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)