欢迎投稿

今日深度:

解决SQL文件导入MySQL数据库1118错误的问题,

解决SQL文件导入MySQL数据库1118错误的问题,


目录
  • 一、 问题描述
  • 二、 原因分析
  • 三、 解决方案
    • 1、执行以下SQL语句,查看严格模式是否是开启
    • 2、执行后如果为ON,则需要关闭
    • 3、找到MySQL的配置文件位置
    • 4、保存,然后重启MySQL服务
  • 总结

    一、 问题描述

    提示:具体错误如下

    [ERR] 1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.

    二、 原因分析

    与发送SQL文件的同事沟通他说可能是他用的MySQL版本是5.7的而我用的是8.0的版本的问题,具体是否后边我也没有做验证了

    网上搜索的原因大致是说

    “在执行创建表或者增加字段时,发现row size长度过长,会导致出现以下错误”

    三、 解决方案

    1、执行以下SQL语句,查看严格模式是否是开启

    // 查看严格模式是否是开启(这里在Navicat新建查询里运行也是一样的)
    show variables like '%innodb_strict_mode%';

    2、执行后如果为ON,则需要关闭

    Variable_name			Value
    innodb_strict_mode		ON

    3、找到MySQL的配置文件位置

    我的位置如  D:\Users\Work\Software\MySql\MySQL Data\my.ini,可查看系统变量找到安装目录。

    右键编辑,在[mysqld]配置项下面新增一行

    //在[mysqld]下面新增
    innodb_strict_mode=0

    4、保存,然后重启MySQL服务

    // 再次执行以下SQL语句,查看严格模式是否是关闭

    show variables like '%innodb_strict_mode%';
    Variable_name			Value
    innodb_strict_mode		OFF

    如果为OFF,则说明执行成功。再导入试试 

    我就是使用此方法解决,导入就没问题了

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持PHP之友。

    您可能感兴趣的文章:
    • mysql导入sql文件失败的解决方案
    • 如何解决mysql导入sql文件慢、错等问题
    • MySQL如何运行sql文件图文详解(以Navicat做演示)
    • MySQL文件权限存在的安全问题和解决方案
    • Mysql命令行导出SQL文件和导入文件详细步骤

    www.htsjk.Com true http://www.htsjk.com/Mysql/48281.html NewsArticle 解决SQL文件导入MySQL数据库1118错误的问题, 目录 一、 问题描述 二、 原因分析 三、 解决方案 1、执行以下SQL语句,查看严格模式是否是开启 2、执行后如果为ON,则需要关闭 3、找到...
    评论暂时关闭