码农日记

薄洪涛的个人博客

mysql报错:1118 - Row size too large

前几天在建表的时候,有这么一个现象,因为我的表字段比较多(一个患者的体检表项目繁多,不要问我为什么不分表了),字段类型为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就可以了;

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.3

版权所有 | 转载请标明出处