MySQL 8 中的 utf8mb4_0900_ai_ci 排序规则混淆

MySQL 8 中的 utf8mb4_0900_ai_ci 排序规则混淆

💡 原文英文,约1500词,阅读约需6分钟。
📝

内容提要

在MySQL 8中,尽管设置为utf8mb4_general_ci,默认排序规则为utf8mb4_0900_ai_ci。建议使用ALTER DATABASE命令更新数据库排序规则,以确保新建表使用正确的排序规则。utf8mb4_general_ci适合一般应用,而utf8mb4_0900_ai_ci支持更复杂的字符处理。

🎯

关键要点

  • 在MySQL 8中,默认排序规则为utf8mb4_0900_ai_ci,即使设置为utf8mb4_general_ci。

  • 建议使用ALTER DATABASE命令更新数据库排序规则,以确保新建表使用正确的排序规则。

  • utf8mb4_general_ci适合一般应用,而utf8mb4_0900_ai_ci支持更复杂的字符处理。

  • 创建数据库时,如果未明确指定字符集和排序规则,将继承服务器的默认值。

  • 使用SET PERSIST命令更改default_collation_for_utf8mb4是被弃用的做法,未来版本将变为只读。

  • utf8mb4_general_ci与utf8mb4_0900_ai_ci的比较显示,前者适合一般用途,后者适合现代应用和国际化需求。

  • 在创建表时,如果需要,可以明确指定排序规则以避免混淆。

➡️

继续阅读