文章目录
-
- 前言
- 解决办法
- 注意
前言
在使用可视化操作工具Navicate运行数据库脚本的时候 报的错误:Unknown collation: ‘utf8mb4_0900_ai_ci’
解释:这个错误通常是因为你的 MySQL 数据库版本不支持 utf8mb4_0900_ai_ci 排序规则。在 MySQL 5.7 之前,utf8mb4_0900_ai_ci 排序规则并不存在,因此如果你在更低版本的 MySQL 中尝试使用这个排序规则,就会遇到这个错误。
解决办法
1、升级 MySQL 版本:如果可能,升级你的 MySQL 到 8.0 版本或更高,因为这些版本原生支持 utf8mb4_0900_ai_ci。
2、更改排序规则:如果不能升级 MySQL,考虑将排序规则改为 utf8mb4_general_ci 或 utf8mb4_unicode_ci,它们在较老的 MySQL 版本中被广泛支持。
你可以修改 SQL 脚本,或者在导入数据时进行全局替换。以下是如何进行替换的示例:【建议使用编辑本对脚本进行全局替换,方便快捷】
ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
或者在 SQL 文件中,将所有 utf8mb4_0900_ai_ci 替换为 utf8mb4_unicode_ci。
- 3、修改导入脚本:如果是在导入脚本中出现问题,可以手动编辑该脚本,将 utf8mb4_0900_ai_ci 替换为适合你当前 MySQL 版本的排序规则。
修改前执行脚本报错
修改后执行脚本成功
注意
重点看 CHARSET 和 COLLATE 设置的是否符合当前数据库版本