介绍
配置
使用OOERP
自动化
账户
资产
求购
客户关系管理
人力资源
电子商务
贷款管理
项目
质量管理
销售
库存
支持
网站
农业
教育
卫生保健
款待
制造业
非营利组织
定制化
一体化
区域性
OneOffice Logo

表单中的最大字段数

有时,在创建自定义字段时,您可能会遇到如下错误消息:

行尺寸太大。所使用的表类型的最大行大小(不包括 BLOB)为 65535。这包括存储开销,请查看手册。您必须将某些列更改为 TEXT 或 BLOB。

1.这是什么意思?

简单来说,这意味着您已达到特定表单/文档类型的最大字段数限制。那么,字段的最大限制是多少?

在 MySQL 中,每个表有 4096 列的硬限制,但对于给定的表,有效最大值可能会更少。确切的限制取决于几个相互作用的因素。

每个表(无论存储引擎如何)的最大行大小为 65,535 字节。存储引擎可能会对此限制施加额外的约束,从而减少有效的最大行大小。

最大行大小限制了列的数量(以及可能的大小),因为所有列的总长度不能超过此大小(65,535 字节)。例如,“utf8mb3”字符每个字符最多需要 3 个字节,因此对于“VARCHAR(140)”列,服务器必须为每个值分配“140 × 3 = 420”字节。因此,一个表不能包含超过“65,535 / 420 = 156”的此类列。

VARCHAR(140) 类型列是基于“数据”、“链接”、“选择”、“动态链接”、“密码”和“只读”字段类型创建的。因此,您可以在系统中创建大约 156 个此类列。

2.解决方案

要向系统添加更多字段,您可以进行一些更改。

  1. 将部分字段转换为“文本”、“小文本”、“文本编辑器”或“代码”类型字段。在 MySQL 中,BLOB 和 TEXT 列的计数范围为 1 到 4 加 8 个字节,每个都达到行大小限制,因为它们的内容与行的其余部分分开存储。因此,转换为这些字段类型将释放一些空间,并允许添加更多字段。
  2. 创建字段时在“Length”属性中设置较小的值,默认值为140。系统根据此属性设置“VARCHAR”的长度并为这些列分配大小。因此,较小的长度会导致添加更多字段。