解释1273 - Unknown collation: 'utf8mb4_0900_ai_ci
时间: 2023-10-17 16:23:32 浏览: 316
这个错误提示通常出现在 MySQL 数据库中,是因为在创建表的时候指定了不支持的字符集和排序规则。在MySQL 5.7.7之前,只支持 utf8 字符集,而在 MySQL 5.7.7之后,官方推荐使用 utf8mb4 字符集来支持更多的 Unicode 字符,同时还引入了新的排序规则 utf8mb4_0900_ai_ci。如果你的 MySQL 版本较旧,不支持 utf8mb4_0900_ai_ci 排序规则,就会出现该错误。
解决方法是将表的字符集和排序规则设置为支持的类型,可以使用以下命令:
```
ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
其中,utf8mb4_unicode_ci 是一种常用的排序规则,可以根据需要选择其他排序规则。
相关问题
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci > 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'
您遇到的问题是由于MySQL版本不支持'utf8mb4_0900_ai_ci'排序规则导致的。该排序规则是MySQL 8.0.4及更高版本引入的。
要解决此问题,您可以尝试以下两种方法之一:
1. 将排序规则修改为受支持的版本(如utf8mb4_general_ci):
ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
2. 升级您的MySQL版本到8.0.4或更高版本。
请注意,如果您已经在使用utf8mb4字符集并且有存储了特殊字符的数据,请在进行任何更改之前进行备份,并确保测试过程中没有数据损失。
1273 - Unknown collation: utf8mb4_0900_ai_ci
这个错误通常是由于数据库版本不兼容引起的。utf8mb4_0900_ai_ci 是 MySQL 8.0 版本中的一种字符集和排序规则,而较旧的版本可能不支持这个排序规则。要解决这个问题,你可以尝试以下几种方法:
1. 升级 MySQL 版本:如果你的 MySQL 版本较旧,可以考虑升级到 MySQL 8.0 或更高版本,以支持 utf8mb4_0900_ai_ci 排序规则。
2. 更改排序规则:如果升级 MySQL 不可行,你可以尝试将表格或数据库的排序规则更改为较旧的版本支持的规则,如 utf8_general_ci。
3. 创建数据库和表时指定排序规则:在创建数据库和表时,可以明确指定使用 utf8_general_ci 排序规则,而不是使用默认的 utf8mb4_0900_ai_ci 规则。
请注意,在做出任何更改之前,请备份你的数据以防止数据丢失或损坏。另外,如果你正在使用框架或应用程序,还应该检查框架或应用程序的文档,了解其对字符集和排序规则的要求和支持情况。
阅读全文