帝国CMS建立模型字段报错:Row size too large. The maximum row size for the

COS、CDN
wdzsjl 2周前 (01-01) 阅读数 36 #易优eyoucms

在帝国CMS中建立模型字段时,如果字段过多或单个字段过长,可能会遇到 MySQL 报错 “Row size too large”。这个错误是因为 MySQL 表的最大行大小限制为 65535 字节(不包括 BLOB 和 TEXT 类型字段)。解决这个问题的方法是将一些字段转换为 TEXT 或 BLOB 类型。

解决方案

  1. 分析现有字段

    • 首先查看现有的字段,确定哪些字段可以转换为 TEXT 或 BLOB 类型。
  2. 修改字段类型

    • 将一些较大的字段或者不经常查询的字段类型改为 TEXT 或 BLOB。
  3. 执行 SQL 语句

    • 使用 SQL 语句来修改字段类型。

具体步骤

  1. 找出问题字段

    • 使用 PHPMyAdmin 或其他数据库管理工具打开出现问题的表,检查每个字段的类型和长度。
  2. 修改字段类型

    • 对于那些可以接受 TEXT 或 BLOB 类型的字段,修改其类型。
    ALTER TABLE `***_ecms_infoclass_article`  MODIFY COLUMN `zz_ceshi` TEXT NOT NULL, MODIFY COLUMN `z_ceshi` TEXT NOT NULL, MODIFY COLUMN `qz_ceshi` TEXT NOT NULL, MODIFY COLUMN `save_ceshi` TEXT NOT NULL;

    注意:如果字段内容不需要存储大量数据,可以考虑只修改部分字段为 TEXT 类型。

  3. 执行 SQL 语句

    • 在数据库管理工具中执行上述 SQL 语句。
  4. 测试

    • 修改后,尝试再次添加字段或保存数据,检查是否还出现同样的错误。
COS、CDN
热门