Ecmsphp开发中心

1252

帖子

19

跟帖

8

粉丝

用户组:普通会员

头    衔:白银会员

版主

积分
356930
登陆
2134 次
私信
注册时间
2014-06-21 14:06:06
最后登陆时间
2023-09-24 16:04:46

帝国CMS建立模型字段报错:Row size too large. The maximum row size for the used table type的解决方法!(亲测解决)

 [只看主题]
楼主
0 |
发表: 3 年前
| |
| |
跳转

  帝国CMS建立模型字段报错:Row size too large. The maximum row size for the used table type的解决方法!(亲测解决)

  给一个客户做模板定制,客户的功能要求很……要建立N多的字段,在一个模型表中!那么问题来了,建立大概165个字段的时候突然报错!如下:

  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
  alter table ***_ecms_infoclass_article add zz_ceshi text not null,add z_ceshi varchar(255) not null,add qz_ceshi varchar(255) not null,add save_ceshi varchar(10) not null;

  根据字面意思,似乎是超出表长了。看客户服务器环境是5.0MYSQL库,于是跑谷歌傻傻的搜索去了,有大神说去把字段改成text或者blobs就行了(错误的字面意思),有说是5.5版本以后的MYSQL就可以了。于是抱着不死心的态度,给客户做MYSQL版本升级工作,升级一切正常,但是,问题依旧!

  于是只能去找出错的表看看啦:

  ***_ecms_infoclass_article表,帝国CMS数据模型字段功能表,每建立一个字段(比如pan_s),那么这里就会响相应的生成三个辅助字段比如下图(PHPMYADMIN工具打开)

帝国CMS建立模型字段报错:Row size too large. The maximum row size for the used table type的解决方法 帝国CMS建立模型字段报错:Row size too large. The maximum row size for the used table type的解决方法!(亲测解决) 帝国CMS教程 第1张

  OK!我们按照错误提示,把其他三个不是text的字段类型修改为text:

帝国CMS建立模型字段报错:Row size too large. The maximum row size for the used table type的解决方法 帝国CMS建立模型字段报错:Row size too large. The maximum row size for the used table type的解决方法!(亲测解决) 帝国CMS教程 第2张

  果然。好了。

  好吧,告一段路,似乎是UTF8编码的数据库,字段长度*3 导致超出表长了!

ecmsphp开发中心
ecmsphp开发中心
验证码 换一个

当前在线人数: 0
取消

感谢您的支持,我们会继续努力!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

×

打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

帝国CMS建立模型字段报错:Row size too large. The maximum row size for the used table type的解决方法!(亲测解决)