1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘, Time: 0.222000s 解决
一勺菠萝丶 2024-06-26 12:31:03 阅读 66
解释
utf8mb4_0900_ai_ci
是 MySQL 8.0 之后的默认字符集和校对。它提供了一种新的方式来存储和比较字符数据。其中:
utf8mb4
是字符集(charset),表示该字符集支持最大为4字节的UTF-8字符。0900
是 Unicode 校对的版本,这是 MySQL 8.0 使用的新版本。ai
表示 “accent insensitive”(不区分重音符号)。ci
表示 “case insensitive”(不区分大小写)。
原因:
您可能正在从一个 MySQL 8.0(或更高版本)的实例导出数据,并试图将其导入到一个更早版本的 MySQL 实例中,而早期的 MySQL 版本不支持 utf8mb4_0900_ai_ci
校对。
解决方法一:
更新目标MySQL版本:升级您的MySQL版本到8.0或更高版本,这样您就可以直接使用这个字符集和校对。
修改SQL文件:使用文本编辑器打开导出的SQL文件,将所有的 utf8mb4_0900_ai_ci
替换为 utf8mb4_unicode_ci
(或您的MySQL版本支持的其他校对)。然后,您可以尝试再次导入。
例如,将:
CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci
替换为:
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
更改导出设置:如果您使用工具(如phpMyAdmin、MySQL Workbench等)导出数据,可能可以在导出时更改字符集和校对的设置。
在采取上述措施之前,建议备份您的数据库和SQL文件,以防止数据丢失或损坏。
解决方法二:
如果您的目标数据库版本是MySQL 5.7,那么您应该将字符集和校对方式更改为MySQL 5.7支持的版本。utf8mb4
字符集在 MySQL 5.7 中是支持的,但 utf8mb4_0900_ai_ci
校对是不支持的。
以下是如何修改导出的SQL文件以使其兼容MySQL 5.7:
使用文本编辑器打开导出的SQL文件。
找到并替换所有的 utf8mb4_0900_ai_ci
为 utf8mb4_unicode_ci
。
例如,将:
CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci
替换为:
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
同样地,将:
CHARACTER SET utf8mb4 COLLATE utf8mb4_bin
保留不变,因为 utf8mb4_bin
在MySQL 5.7中是支持的。
保存SQL文件。
尝试再次导入修改后的SQL文件到您的MySQL 5.7数据库。
上一篇: 七个研究生必备高效科研网站
下一篇: 【毕设选题指导】人工智能专业毕业设计选题推荐 2024
本文标签
1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘ Time: 0.222000s 解决
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。