同样都是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

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐