---
title: "5.1、修改字段长度、小数位"
docId: "195060705790001152"
source: "https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/repository/9c2e5f92-03b4-4207-9b22-a0c1dd79ac56/doc/195060705790001152"
---
**通过sql 修改字段属性、列名称、表名称 需谨慎，一旦出错，概不负责**

-- sql需要的数据：字段ID、表名、字段名、字段原长度

-- dynamic 就是要修改的小数位数

update form_table_field set dynamic = 3 where field_id = 956546962778963971

;

-- "pointSize":"2"就是原先的小数位数，"pointSize":"3"就是要修改的小数位数

update form_field set other_properties = replace(other_properties,'"pointSize":"2"','"pointSize":"3"') where id = 956546962778963971

;

-- 新增临时列，命名为[原列名列表_tmp]格式

alter table ft_zdcsws add sz2wxs_tmp number(38,3)

;

-- 原列copy到临时列

update ft_zdcsws set sz2wxs_tmp = sz2wxs

;

-- 删除原列

alter table ft_zdcsws drop column sz2wxs

;

-- 临时列重命名为原列

alter table ft_zdcsws rename column sz2wxs_tmp to sz2wxs

;

-- 单选切多选  eb 需要单独处理sql   update ebdf_field set multi_select=1 where id=字段id

-- 修改字段配置

update form_field set other_properties = replace(other_properties,'"isSingle":true','"isSingle":false'),single=0 where id = 字段id; 

-- 修改物理表列配置

update form_table_field set column_type='TEXT',type_len=16 where field_id = 字段id;

-- 新增临时列，命名为[原列名列表_tmp]格式

alter table 物理表名称 add 列名称_tmp clob

;

-- 原列copy到临时列

update 物理表名称 set 列名称_tmp = 列名称

;

-- 删除原列

alter table 物理表名称 drop column 列名称

;

-- 临时列重命名为原列

alter table 物理表名称 rename column 列名称_tmp to 列名称

;

----------------------------------

-- 修改列长度  

-- 修改的长度配置

update form_table_field set type_len = 300 where field_id = 956546962778963971

;

-- 修改的长度配置

update form_field set other_properties = replace(other_properties,'"maxLen":"100"','"maxLen":"300"') where id = 956546962778963971

;

-- 修改物理表列长度 mysql 

alter table 物理表名称 change 列名称 列名称 varchar(300)

;

-- oracle 新增临时列，命名为[原列名列表_tmp]格式

alter table 物理表名称 add 列名称_tmp varchar2(300 char)

;

-- oracle原列copy到临时列

update 物理表名称 set 列名称_tmp = 列名称

;

-- oracle删除原列

alter table 物理表名称 drop column 列名称

;

-- oracle临时列重命名为原列

alter table 物理表名称 rename column 列名称_tmp to 列名称

;
