1.Q&A:数据表管理-创建或者修改数据表结构时出错了

Q1:添加了一个主键之后,保存模板设计报错

A1:主键不允许为空且不允许重复,添加主键前需要确认之前所有的单据,该字段是否有空值或者是否重复
解决方案:
①修改之前的单据,将该字段修改为不重复且不为空的值
②删除之前所有的单据,再进行添加(设计初期可以使用,若已正式上线系统,该方式需谨慎使用!)

Q2:添加了索引之后,保存模版设计报错

A2:这里报错的原因是唯一索引超长,需要索引修改为常规索引
提醒:唯一索引最好保持在4个数据项以下

Q3:添加了数据项之后报错

A3:
报错原因:
模板中的数据项过多,导致总长度超出
以内置的mysql为例,文本字段默认255,总长度21420/255≈83,所以当创建第84个文本字段时就会报错,数值类型和备注类型等不算在内,如果需要超过84个文本字段,那就需要改数据项的默认长度了
解决方案:
1、可以根据实际业务场景,修改一些数据项为数值、日期或者是备注类型
2、一个文本类型的数据项,默认分配给它的长度为255,可以修改一些不需要这么长的字段的长度,比如性别、 省份等字段,可以将字段长度改小,总长度不要超出就可以了

Q4:修改数据类型后报错

报错详情:
服务器错误代码:300118,详细信息:更新表结构出现错误异常。创建或者修改数据表结构时出错了Error while executing SQL ALTER TABLE t1542323_c134020_d02MODIFY COLUMN f42 DECIMAL(22,2)Incorrect DECIMAL value: '0' for column " at row -1  
A4:
报错原因:
修改的数据类型有误,例如,原数据类型为文本,在已有单据中也填写了文本类型的数据(包含汉字或英文),此时将该字段选择为数值类型的字段(整数、小数等),则会发生数据项强转错误
解决方案:
步骤1:找到报错的字段,以该报错为例,是字段内部名称为f42的字段报错
步骤2:对应找到报错的字段
查看字段内部名称的方式:在【数据表管理】中,将位置与名称之间拖动开,就能显示出字段内部名称
步骤3:修改该字段为正确的数据类型即可
2026-03-03
0 0