加入收藏 | 设为首页 | 会员中心 | 我要投稿 牡丹江站长网 (https://www.0453zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

帝国CMS建立模型字段报错的解决方式

发布时间:2022-04-28 11:15:08 所属栏目:经验 来源:互联网
导读:给一个客户做模板定制,客户的功能要求很要建立N多的字段,在一个模型表中!那么问题来了,建立大概165个字段的时候突然报错!如下: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change
        给一个客户做模板定制,客户的功能要求很……要建立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工具打开)
 
OK!我们按照错误提示,把其他三个不是text的字段类型修改为text:
 
果然。好了。
 
好吧,告一段路,似乎是UTF8编码的数据库,字段长度*3 导致超出表长了! 

(编辑:牡丹江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!