Appearance
更新数据节点
更新数据节点用于修改指定数据表中已经存在的记录,对应常规数据库操作中的 UPDATE。节点通过可视化方式配置目标表、更新字段和更新条件,无需编写 SQL。
节点会更新所有符合条件的记录。更新前必须确认条件范围,尤其不能把空条件当作安全默认;复杂的跨表更新、计算表达式或事务操作应重新设计流程,必要时使用 SQL 自定义节点并增加权限、审计和回滚方案。
添加与配置
在节点面板的 数据库 分类中添加 更新数据 节点。属性面板依次提供数据表、待更新字段、更新条件、输出和异常处理配置。

截图示例在 daily_expenses 表中查找 price 等于 100 的记录,并把 price 更新为 120。
数据表
单击 添加数据表,从资源库数据库中选择目标表。每个更新数据节点只支持操作一张数据表;选中后可以移除并重新选择。
配置前应确认:
- 数据表属于正确的工作空间和运行环境;
- 当前执行身份具有更新权限;
- 字段结构、类型、必填约束和唯一约束符合预期;
- 多用户数据隔离、调试数据隔离等能力已在目标环境实际验证。
试运行可能修改真实数据。应使用专门测试表或可恢复的测试记录,并在验证完成后按数据治理规则处理。
选择并设置字段
单击 选择并设置字段 右侧的加号,从数据表可更新的自定义字段中选择目标字段。字段类型由数据表结构确定。
字段值支持:
- 固定值:直接填写常量;
- 引用变量:引用开始节点、上游节点输出或流程变量,在运行时动态生成更新值。
配置时需注意:
- 值的类型必须与数据表字段类型一致;
- 唯一字段的新值不能与其他记录冲突;
- 未显示在可选列表中的系统字段通常由平台维护,不应强行更新;
- 引用变量可能为空时,应在上游先校验;
- 同一字段不要重复配置,避免最终写入值不明确。
至少选择一个待更新字段。修改字段类型或数据表结构后,应重新打开节点核对字段和值。
更新条件
更新条件决定哪些记录会被修改。每个条件由字段、运算符和值组成,值可以填写固定值,也可以引用上游变量。
运算符随字段类型变化:
| 字段类型 | 支持的运算符 |
|---|---|
| 字符串 | 等于、不等于、模糊匹配、不模糊匹配、属于、不属于、为空、不为空 |
| 整数、数字 | 等于、不等于、大于、小于、大于等于、小于等于、属于、不属于、为空、不为空 |
| 时间 | 等于、不等于、大于、小于、大于等于、小于等于、为空、不为空 |
| 布尔 | 等于、不等于、为空、不为空、为真、为假 |
添加多个条件后,可以选择“且”或“或”。多条件默认使用“且”;仍应在界面中明确核对,不要依赖默认值推断业务范围。
空条件可能造成全表更新
正式流程必须至少添加一个可验证的条件,并在更新前使用相同条件执行查询,确认命中数量和样例记录。
优先使用唯一 ID、业务唯一键等精确条件。模糊匹配、“不等于”或“或”条件可能大幅扩大更新范围,应格外谨慎。
输出

更新数据节点提供两个固定输出:
| 输出 | 类型 | 说明 |
|---|---|---|
outputList | Array<Object> | 列表输出;实际内容应通过试运行确认后再配置和引用 |
rowNum | Integer | 本次更新影响的记录数量 |
正式流程不应依赖未经验证的 outputList 内容;需要判断更新结果时,优先检查 rowNum,需要更新后完整记录时再使用查询节点读取。
默认输出中未定义 errorBody 和 isSuccess,异常处理应通过对应分支或运行结果处理。
异常处理
新建节点的默认设置为:
- 整体执行超时:60 秒;
- 重试次数:不重试;
- 异常处理方式:中断流程。
更新属于有副作用的写操作。请求超时不代表数据库一定没有更新成功,不要在没有幂等保障时直接开启重试。确需重试时,应确认重复执行不会产生错误状态,并通过唯一条件、版本字段或其他并发控制防止误更新。
如果业务允许失败后继续,应在异常分支中记录目标记录、更新值和失败原因,并设计人工处理或补偿流程;不要吞掉错误后把更新当作成功。
安全更新流程
建议按以下顺序设计正式流程:
- 使用查询节点按相同条件读取目标记录;
- 检查命中数量是否处于允许范围;
- 对关键字段保留更新前值或审计记录;
- 执行更新节点;
- 检查
rowNum是否符合预期; - 必要时再次查询,确认更新后的字段值;
- 对异常或数量不符的情况进入人工核对或补偿分支。
示例:调整费用金额
- 选择
daily_expenses数据表; - 在待更新字段中选择
price,设置新值为120; - 添加更新条件:
price等于100; - 使用相同条件预先查询并确认目标记录;
- 试运行节点,检查
rowNum; - 再次查询目标记录,确认值已经更新。
真实业务中应尽量使用记录 ID 或业务唯一键作为条件,示例中的金额条件只用于展示字段和值配置方式。
常见问题
为什么更新了多条记录?
检查是否遗漏条件、使用了“或”关系,或采用了模糊匹配、不等于等宽范围运算符。用相同条件执行查询,查看实际命中范围,再收紧条件。
为什么没有任何记录被更新?
依次核对数据表、运行环境、字段类型、条件值和条件关系。还要确认目标记录确实存在于执行环境,并检查执行身份是否具有更新权限。
为什么节点提示唯一约束冲突?
更新后的值已经被其他记录占用。先查询冲突记录,并根据业务选择停止、合并或改用其他值,不能通过重复重试解决唯一约束问题。
为什么 outputList 没有预期字段?
应通过试运行确认实际返回结构;需要更新后的完整记录时,建议在更新后追加查询节点。
为什么超时后不能直接重试?
超时只表示调用方没有及时收到结果,数据库操作可能已经成功。直接重试可能重复触发更新流程、审计或其他下游副作用,应先建立幂等与状态确认机制。
更新数据节点和 SQL 自定义节点怎么选?
单表字段赋值和条件筛选优先使用更新数据节点。只有可视化配置无法表达计算、关联或复杂 SQL 时才使用 SQL 自定义节点,并加强权限、事务和回滚控制。