文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


12.3.1 校對命名慣例

MySQL 校對名稱遵循以下慣例

  • 校對名稱以與其關聯的字元集名稱開頭,通常後面會加上一個或多個後綴,指出其他校對特性。例如,utf8mb4_0900_ai_cilatin1_swedish_ci 分別是 utf8mb4latin1 字元集的校對。binary 字元集只有一個校對,也稱為 binary,沒有後綴。

  • 特定語言的校對包含地區碼或語言名稱。例如,utf8mb4_tr_0900_ai_ciutf8mb4_hu_0900_ai_ci 分別使用土耳其語和匈牙利語的規則來排序 utf8mb4 字元集的字元。utf8mb4_turkish_ciutf8mb4_hungarian_ci 類似,但基於較舊版本的 Unicode 校對演算法。

  • 校對後綴指出校對是否區分大小寫、區分重音符號、區分假名 (或其組合),或二進位。下表顯示用於指出這些特性的後綴。

    表格 12.1 校對後綴的意義

    後綴 意義
    _ai 不區分重音符號
    _as 區分重音符號
    _ci 不區分大小寫
    _cs 區分大小寫
    _ks 區分假名
    _bin 二進位

    對於未指定重音符號靈敏度的非二進位校對名稱,其由大小寫靈敏度決定。如果校對名稱不包含 _ai_as,則名稱中的 _ci 表示 _ai,名稱中的 _cs 表示 _as。例如,latin1_general_ci 明確區分大小寫且隱含不區分重音符號,latin1_general_cs 明確區分大小寫且隱含區分重音符號,而 utf8mb4_0900_ai_ci 明確不區分大小寫且不區分重音符號。

    對於日語校對,_ks 後綴表示校對區分假名;也就是說,它會區分片假名和平假名。沒有 _ks 後綴的日語校對不區分假名,並且在排序時將片假名和平假名字元視為相等。

    對於 binary 字元集的 binary 校對,比較基於數值位元組值。對於非二進位字元集的 _bin 校對,比較基於數值字元碼值,這與多位元組字元的位元組值不同。如需關於 binary 字元集的 binary 校對與非二進位字元集的 _bin 校對之間差異的資訊,請參閱第 12.8.5 節,「binary 校對與 _bin 校對的比較」

  • Unicode 字元集的校對名稱可能包含版本號碼,指出校對所基於的 Unicode 校對演算法 (UCA) 版本。名稱中沒有版本號碼的基於 UCA 的校對會使用 4.0.0 版 UCA 權重金鑰。例如

  • 對於 Unicode 字元集,xxx_general_mysql500_ci 校對會保留原始 xxx_general_ci 校對的 5.1.24 版以前的排序,並允許升級在 MySQL 5.1.24 之前建立的資料表 (錯誤 #27877)。