如何解决mysql 报错”Row size too large. “
新加字段时提示:
“失败原因:Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs”
原因分析:
MySQL要求单行定义长度不能超过65535。
(1)单个字段如果大于65535,则要转换为TEXT 。
(2)单行最大限制为65535,这里不包括TEXT、BLOB。(单行最大限制是指一张表中所有字段的长度设置不得超过65535字节)
例如一个表中有三个varchar字段长度4000,那么这个表的单行长度为:4000*3=12000,大于65535则报错,这里乘以3是因为数据库用的utf8编码,3个字节表示一个字符。
解决方法:
平均分配varchar字段长度
将varchar改为text