导入SQL文件报错:Unknown collation: ‘utf8mb4_0900_ai_ci‘

间隔四个月有遇到这个问题,但是表实在太多改不过来所以有其他解决方法详情
MYSQL再有不卸载低版本情况下安装高版本_车矣捕的博客-CSDN博客

在实际开发中,一些低版本数据库,不支持一些特殊的sql语句,因此高版本数据库数据导入低版本的时候就会出问题,如

运行语句:

导入SQL文件报错:Unknown collation: ‘utf8mb4_0900_ai_ci‘_第1张图片

ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

语句含义

ENGINE = InnoDB:使用InnoDB引擎(聚集索引)
AUTO_INCREMENT=23:自增字段从23开始递增
default charset=utf8:默认编码集为utf-8
collate=uft-8_general_ci :普通比较,不区分大小写,collate是核对的意思(拓展:如果是utf8_bin:以二进制值比较,也就是区分大小写)

错误展示:错误原因:

        数据库版本不一致,较高版本数据库(8.0)生成的SQL文件,导入到较低版本的数据库(5.7)

解决办法:
办法一:升级mysql至与导出SQL文件的数据库版本一致

办法二:修改需要导入的SQL文件,把其中的

collate的属性值从 utf8mb4_0900_ai_ci修改为utf8_general_ci

DEFAULT CHARSET的属性值utf8mb4修改为utf8

重新运行SQL文件

        有时候疏远不是讨厌,而是太喜欢又很无奈,我不想抱着期望等待落空,只好假装大方自己先走。

你可能感兴趣的:(sql,数据库)