首页 技术数据库正文

mysql报错:1118 - Row size too large

薄洪涛 数据库 2019-04-01 395 0 mysql

前几天在建表的时候,有这么一个现象,因为我的表字段比较多(一个患者的体检表项目繁多,不要问我为什么不分表了),字段类型为varchar类型,结果保存的时候报了如下的错误

TIM截图20190329140339.png

原因:

MySQL在建表的时候有个限制:MySQL要求一个行的定义长度不能超过65535。具体的原因可以看:

http://dev.mysql.com/doc/refman/5.1/en/silent-column-changes.html

当建立新表时,会按照如下步骤进行检测:

1、若单个字段如果大于65535,则转换为TEXT,执行第二步;

2、单行最大限制为65535,这里不包括TEXT、BLOB,若超过,则报错;

解决这个错误的方法比较简单,把varchar改成text或者blob,甚至tinytext就可以了;

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论