Mysql数据库结构同步时报错:Result: 1118 - Row size too large.

╰半夏微凉° 2023-09-28 10:42 128阅读 0赞

今天在更新一个老数据库的结构时出现了这个问题,用的是Navicat的结构同步

52f22c70e44a4de098b90e01f3c2508f.png

看这报错意思是更改表结构时发现某行长度过长,但是实际上这张表并没有数据

实际上这是因为打开了数据库的严格检查模式

使用命令查询一下

  1. show variables like '%innodb_strict_mode%';

可以看到是严格检查模式打开了的

69e3c7b40ce84b6d83bb751f043acc71.png

用命令给它关了

  1. set global innodb_strict_mode= OFF;

重新打开数据库查询,确保已经关闭

858061ac23ce4c9ea213cdcd4065fa6f.png

然后再进行结构同步,此时就可以成功了

使用严格检查模式可以防止空数据入库,不使用可以提高兼容性,自己取舍吧

发表评论

表情:
评论列表 (有 0 条评论,128人围观)

还没有评论,来说两句吧...

相关阅读