无法添加字段...行大小...大于允许的最大大小

Jes*_*nch 1 mysql innodb temp-tables

我在MySQL日志中看到以下错误:

[Warning] InnoDB: Cannot add field `wd_field_ft_95_240` in table `tmp`.`#sql_1_0` because after adding it, the row size is 8155 which is greater than maximum allowed size (8126) for a record on index leaf page.

这个tmp数据库是某种内部MySQL结构吗?这是我需要关心的事吗?

Bil*_*win 6

一些MySQL查询创建内部临时表以保存部分结果.

从MySQL 5.7.6开始,内部临时表的默认存储引擎是InnoDB,它对行大小的限制非常小,如您所见(尽管BLOB/TEXT列可以超出该限制).

您可以返回旧的5.7之前的默认存储引擎以获取内部临时表:

 internal_tmp_disk_storage_engine=MyISAM
Run Code Online (Sandbox Code Playgroud)

这是这个bug中提到的解决方法:" 在mysql 5.7查询中错误#77398行大小太大 "