翼度科技»论坛 编程开发 mysql 查看内容

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

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
一、 问题描述

提示:具体错误如下
  1. [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语句,查看严格模式是否是开启
  1. // 查看严格模式是否是开启(这里在Navicat新建查询里运行也是一样的)
  2. show variables like '%innodb_strict_mode%';
复制代码
2、执行后如果为ON,则需要关闭
  1. Variable_name                        Value
  2. innodb_strict_mode                ON
复制代码
3、找到MySQL的配置文件位置

我的位置如  D:\Users\Work\Software\MySql\MySQL Data\my.ini,可查看系统变量找到安装目录。
右键编辑,在[mysqld]配置项下面新增一行
  1. //在[mysqld]下面新增
  2. innodb_strict_mode=0
复制代码
4、保存,然后重启MySQL服务

// 再次执行以下SQL语句,查看严格模式是否是关闭
  1. show variables like '%innodb_strict_mode%';
复制代码
  1. Variable_name                        Value
  2. innodb_strict_mode                OFF
复制代码
如果为OFF,则说明执行成功。再导入试试
我就是使用此方法解决,导入就没问题了

总结

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

来源:https://www.jb51.net/database/328770ql0.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具