• 域名认证
  • 作品:135
  • 记录:358|
  • 随笔:45|
  • 资源:162|
  • 总访问量:297965|

m 墨鱼部落格

导航菜单
欢迎来到墨鱼博客!
帝国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的解决方法

浏览次数:

作者: 墨鱼

信息来源:

更新日期: 2015-06-27 02:38:36

文章简介

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

  • 正文开始

 给一个客户做模板定制,客户的功能要求很……要建立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工具打开)

片段.jpg

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

片段_2.jpg

果然。好了。

好吧,告一段路,似乎是UTF8编码的数据库,字段长度*3 导致超出表长了!具体为什么,我回头巴拉巴拉资料去,再给大家后续报道。解决问题就行了呗。过程不重要……(好吧我偷懒了)!知道具体原因的小伙伴,欢迎在下面评论留言告诉墨鱼一下。谢过!

 

收藏此文 ( ) 感觉不错,赞哦! 打赏本站

如果本文对你有所帮助请打赏本站

  • 打赏方法如下:
  • 支付宝打赏
    支付宝扫描打赏
    微信打赏
    微信扫描打赏

精彩评论