mysql5.7以下执行sql失败情况1:sql的版本问题导致执行无效

Posted 吃螃蟹的小孩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql5.7以下执行sql失败情况1:sql的版本问题导致执行无效相关的知识,希望对你有一定的参考价值。

mysql5.7运行8.0版本的sql文件失败

显示记录

0行受到影响导致还原失败

原因

Mysql8.0的字符集排序规则较5.7有改动

  • 表编码为 utf8mb4_0900_ai_ci
  • 排序规则为utf8mb4
  • utf8mb4替换为utf8

Mysql8.0支持Json字段类型而5.7-等不能

可以将Json字段类型变成varchar或者text,后台暂时没有报错信息

解决方案

打开.sql文件 使用notpad++等软件去全局替换,这里我使用HBuilder

  • utf8mb4_0900_ai_ci 替换为 utf8_general_ci

在这里插入图片描述

  • utf8_croatian_ci替换为utf8_general_ci

在这里插入图片描述

  • utf8mb4_general_ci替换为utf8_general_ci

在这里插入图片描述

  • utf8mb4 替换为 utf8

在这里插入图片描述

多数情况,只需要对最后一步utf8mb4 替换为 utf8操作即可

以上是关于mysql5.7以下执行sql失败情况1:sql的版本问题导致执行无效的主要内容,如果未能解决你的问题,请参考以下文章

如何查找MySQL中查询慢的SQL语句

mysql 联表查询 巨慢

mysql5.7以下怎么解析json

mysql 5.7 在中等 sql 中比 mysql 5.6 慢很多

Mysql5.7版本sql错误:this is incompatible with sql_mode=only_full_group_by

Mysql5.7版本sql错误:this is incompatible with sql_mode=only_full_group_by