今天在帝国cms后台创建系统模型,添加字段时报了一个错误,ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs。下面帝国模板之家小编给大家分析一下报错原因,和解决方法。
报错原因:
mysql建表有个长度限制:MySQL要求一个行的定义长度不能超过65535。
1.单个字段如果大于65535,则转换为TEXT 。
2.单行最大限制为65535,这里不包括TEXT、BLOB。
所谓单行最大限制指的就是一张表中所有字段的所设置的长度不得超过65535字节,
例如一个表中有三个varchar字段长度30000,那么这个表的单行长度为:30000*3=90000,
大于65535则报错不能建表,这里乘以3是因为数据库用的utf8编码,3个字节表示一个字符。
解决方法:
把所有没必要设置成255长的的字段都设置小一点,如果你的表的中的字段长度不能改小,那就把大字段类型改成text类型,因为单行最大限制为65535,这里不包括TEXT、BLOB。
另外我们还需要 对应修改'www_moyouyouw_cn_ecms_infoclass_xiangmu','www_moyouyouw_cn_ecms_infotmp_xiangmu',这两个表的字段长度。(‘www_moyouyouw_cn_’是表前缀,‘_xiangmu’是系统模型),找到你自己创建的系统模型对应修改即可。
以上就是帝国cms动态内容页单条信息指定不同模板显示的方法,更多相关内容请关注帝国模板之家。