Question
Closed · Answered

已有数据的字段能否修改类型,转换失败时如何处理?

Yi C

建表初期可能先用文本字段记录数量,后面希望改成数字字段。Busabase 是否允许直接修改已有字段的类型?如果部分记录包含“待确认”等无法转换的文字,修改前能否列出这些记录,让我先处理,避免转换后丢失内容?

Report
pengjin
Team
· edited

可以修改,但只支持一部分类型,而且转换是在原字段上直接替换这一列的值,不是复制出一个新字段,所以要先看清哪些值会被清掉。

文本、长文本、数字、日期、单选/多选、复选框、邮箱、网址等之间可以互相转换;但“关联记录”“附件”“成员”这类值本身是内部引用、没有文本形态的类型不能改(源类型和目标类型都不行),系统计算字段(创建时间、更新时间、创建人、自动编号、公式等)也不能改。这种情况界面会提示“该字段的类型无法更改——它存的值没有文本形式”。

改类型有两种提交方式:“请求改类型” 会进入收件箱等待审核,合并后才生效;“立即改类型” 直接转换。改类型不影响字段标识和其他字段。

无法转换的值会被清空

以文本改成数字为例,“待确认”这类文字无法解析为数字,合并后就会被清空;带单位或千分位的写法(如 12 件、1,200)同样可能转换失败。改成单选时,没有匹配选项的值会被清空,也可以选择“为每个值新建选项”把每个值保留成新选项。

界面会明确提示:被清空的值无法从变更请求里找回,也没有“保留原文本”的自动兜底。空单元格本来就没有内容,不算损失。

修改前可以先预检:

选好目标类型后,面板里会显示“已存的值会怎样”:多少条记录的值会被清空、总数/可转换/本来就是空的各多少,并列出最多 10 条将被清空的示例值。三个注意点:

  1. 清空的数量是精确的(总数 − 可转换 − 本来就是空),但示例只列 10 条,冲突很多时不能靠这个面板逐条找到记录。
  2. 示例只显示值,不提供跳到对应记录的入口。
  3. 提交和审核时都会各查一次预览:提交到合并之间这一列不受锁保护,别人新增了不符合条件的值,请看审核时的最新预览。

想完全不丢内容的稳妥做法:

先处理冲突值再转换,而不是转换后再补:

  1. 在源字段上先筛出问题行:文本字段可以用“包含 待确认”这类条件过滤,或把表格导出 CSV 后逐条清理。数字字段还要顺带处理单位、千分位、全角数字等写法。
  2. 需要留底时,先新建一个长文本字段,把这一列原样复制过去作为备份,确认转换结果无误后再决定是否删除备份列。
  3. 转换完成后抽查几行,确认数字能参与排序和统计、日期能参与筛选,再继续用。
Report

Your reply

Sign in to join the discussion. Reading is always open; you only need an account to post.

Sign in