Bạn cần sử dụng lệnh ALTER để thay đổi đối chiếu thành utf8_bin. Cú pháp như sau:
ALTER TABLE yourTableName COLLATE utf8_general_ci;
Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau:
mysql> create table CollateDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(20), -> Age int, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.98 sec)
Kiểm tra DDL của bảng. Cú pháp như sau:
SHOW CREATE TABLE yourTableName;
Bây giờ chúng ta hãy kiểm tra DDL của bảng của chúng ta:
mysql> show create table CollateDemo;
Sau đây là kết quả:
+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | CollateDemo | CREATE TABLE `collatedemo` (`Id` int(11) NOT NULL AUTO_INCREMENT, `Name` varchar(20) DEFAULT NULL, `Age` int(11) DEFAULT NULL, PRIMARY KEY (`Id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci | +-------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
Bây giờ bạn có thể thay đổi đối chiếu bằng lệnh ALTER. Truy vấn như sau:
mysql> alter table CollateDemo collate utf8_general_ci; Query OK, 0 rows affected (0.39 sec) Records: 0 Duplicates: 0 Warnings: 0
Bây giờ chúng ta hãy kiểm tra DDL của bảng:
mysql> show create table CollateDemo;
Sau đây là kết quả:
+--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | CollateDemo | CREATE TABLE `collatedemo` (`Id` int(11) NOT NULL AUTO_INCREMENT, `Name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, `Age` int(11) DEFAULT NULL, PRIMARY KEY (`Id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8 | +-------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)