同样都是utf8mb4的字符集,查看新版本中建立的数据库,utf8mb4中支持有utf8mb4_cs_0900_ai_ci等规则。但是这些规则在老版本navicat中建立的数据库内是不支持的。

因此,如果新版本使用了老版本不支持的字符集,直接进行数据传输,就会出现“COLLATION 'utf8mb4_cs_0900_ai_ci' is not valid for CHARACTER SET 'utf8mb4'” 的报错

解决方式

1、在新版本的navicat上建立的数据库内,选择数据传输,导出完整插入语句的sql文件到本地

2、手动修改导出的sql文件,替换所有的'utf8mb4_cs_0900_ai_ci' 为‘utf8mb4_bin’

3、选择目标数据库→运行mysql文件,执行修改过的sql文件,即可进行数据的插入。

到此,即可完成新版本到旧版本的数据库的迁移,但是这个方法只适用于表格较少的应急的情况

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐