utf8mb4_bin & utf8mb4_0900_as_ci & utf8mb4_0900_ai_ci & utf8mb4_general_ci
![]()
-- 1. utf8mb4_bin:严格区分大小写+重音 CREATE TABLE test_bin ( name VARCHAR(20) COLLATE utf8mb4_bin ); INSERT INTO test_bin VALUES ('e'), ('E'), ('é'), ('É'), ('a'), ('A'); -- 2. utf8mb4_0900_ai_ci:大小写、重音都不区分 CREATE TABLE test_0900_ai_ci ( name VARCHAR(20) COLLATE utf8mb4_0900_ai_ci ); INSERT INTO test_0900_ai_ci VALUES ('e'), ('E'), ('é'), ('É'), ('a'), ('A'); -- 3. utf8mb4_0900_as_ci:区分大小写、不区分重音 CREATE TABLE test_0900_as_ci ( name VARCHAR(20) COLLATE utf8mb4_0900_as_ci ); INSERT INTO test_0900_as_ci VALUES ('e'), ('E'), ('é'), ('É'), ('a'), ('A'); -- 4. utf8mb4_general_ci:不区分大小写、重音不保证 CREATE TABLE test_general_ci ( name VARCHAR(20) COLLATE utf8mb4_general_ci ); INSERT INTO test_general_ci VALUES ('e'), ('E'), ('é'), ('É'), ('a'), ('A'); -- 统一验证查询(看差异) SELECT 'utf8mb4_bin' AS rule, * FROM test_bin WHERE name = 'e'; SELECT 'utf8mb4_0900_ai_ci' AS rule, * FROM test_0900_ai_ci WHERE name = 'e'; SELECT 'utf8mb4_0900_as_ci' AS rule, * FROM test_0900_as_ci WHERE name = 'e'; SELECT 'utf8mb4_general_ci' AS rule, * FROM test_general_ci WHERE name = 'e';