【n8n教程】:Data Table——无需数据库的轻量级数据存储方案

n8n 在 v1.113.0 版本推出了革命性的原生 Data Table 功能,彻底改变了工作流中数据存储的方式。这个功能让初学者无需掌握复杂的 SQL 语句或部署外部数据库,就能直接在 n8n 内部存储、管理和操作结构化数据。本教程将带你从零开始,轻松掌握这一强大功能。

为什么需要 Data Table?

传统的 n8n 工作流要保存数据,通常需要依赖 Google Sheets、Airtable 等外部工具,这不仅增加了系统的复杂性,还会遇到 API 限制和速度问题。而原生 Data Table 彻底解决了这个痛点。它是一个 内置的轻量级数据库,具有以下核心优势:

n8n Data Table 工作流程图
n8n Data Table 工作流程图

n8n Data Table 工作流程图

快速开始:创建你的第一个 Data Table

步骤 1:准备环境

首先确保你的 n8n 版本不低于 v1.113.0。如果使用云端 n8n 或自托管版本,检查你的版本号,必要时升级到最新版本。

步骤 2:创建数据表

  1. 1. 登录你的 n8n 实例后,在左侧导航栏找到 Data tables 菜单
  2. 2. 点击右上角的下拉箭头,选择 Create Data table
  3. 3. 输入你的表名称(如 customersordersfeedback
  4. 4. 点击 Create 按钮

系统会自动为你创建三个必需字段:

步骤 3:定义数据字段

创建表后,你需要添加用于存储具体业务数据的字段。点击 Add Column 可以添加新的字段,每个字段都需要选择合适的数据类型:

字段类型用途示例
String文本、邮箱、电话等姓名、邮箱地址
Number数字、金额、计数等价格、数量、评分
Boolean是/否、开/关等是否订阅、是否已支付
Date日期和时间出生日期、订单日期

建议:在创建字段时充分考虑你的使用场景,确定每个字段的类型和名称是否准确。

核心操作详解:7 种数据表节点操作

Data Table 节点提供了完整的 CRUD(Create, Read, Update, Delete)操作能力。以下是所有操作的详细说明:

1. Insert — 新增数据

场景:表单提交后保存数据、添加新用户、创建订单等。

在工作流中添加 Data Table 节点,选择操作为 Insert

示例:用户填写表单后,表单数据直接插入表格。

2. Get — 查询数据

场景:搜索用户信息、获取满足条件的订单列表等。

配置 Get 操作时:

3. Update — 更新数据

场景:修改订单状态、更新用户信息、改变任务完成状态等。

选择 Update 操作:

4. Upsert — 插入或更新

场景:数据同步、防止重复创建、智能更新等。

这是最智能的操作:

优势:大大简化了工作流逻辑,避免了重复数据的产生。

5. Delete — 删除数据

场景:清理过期数据、删除无效记录、执行数据清理等。

选择 Delete 操作:

⚠️ 重要警告:Data Table 目前没有备份或恢复机制,误删的数据会永久丢失。建议删除前务必三思!

6. If Row Exists — 检查数据是否存在

场景:条件分支、验证数据存在性、根据检查结果执行不同操作。

这个节点返回布尔值(true/false):

7. If Row Does Not Exist — 检查数据是否不存在

场景:与 If Row Exists 相反的逻辑检查。

用途相同,但返回条件相反:

实战案例:用户反馈收集系统

现在通过一个完整的实例来展示 Data Table 的实际应用。这个工作流展示了从表单收集、数据存储到结果反馈的完整流程。

工作流设计

这个系统包含以下步骤:

  1. 1. 表单触发:用户提交反馈表单(姓名、邮箱、反馈内容、满意度评分)
  2. 2. 数据验证:检查用户邮箱是否已提交过反馈
  3. 3. 存储数据:将反馈数据插入 Data Table
  4. 4. 发送确认:向用户邮箱发送反馈收到的确认邮件
  5. 5. 后续处理:管理员可以查看和更新反馈状态

核心配置步骤

第一步:创建反馈数据表

第二步:配置表单触发节点

第三步:检查邮箱是否重复

使用 "If Row Exists" 节点
条件:email 字段等于用户输入的邮箱

第四步:插入反馈数据

操作:Insert
目标表:feedback
映射字段:

第五步:发送确认邮件

重要限制和最佳实践

了解 Data Table 的限制对于正确使用至关重要:

存储限制

字段限制

数据安全

最佳实践

  1. 1. 命名规范:使用英文蛇形命名法(如 user_nameorder_id
  2. 2. 定期检查容量:监控表的大小,必要时归档老数据
  3. 3. 备份重要数据:定期导出重要数据到 CSV 或其他系统
  4. 4. 谨慎删除:确保删除逻辑正确后再执行删除操作
  5. 5. 避免过大数据行:不支持存储图片、视频等大文件

Data Table vs. 其他方案

在选择数据存储方案时,理解 Data Table 的优劣势很重要:

功能Data Table外部数据库Google SheetsVariables
可视化表格
行列关系
无需配置
跨项目访问可能可能
适合大数据
价格免费付费免费免费

选择建议

常见问题解答

Q: Data Table 能存储多少数据?
A: 默认 50MB 限制,可在自托管环境中通过环境变量 N8N_DATA_TABLES_MAX_SIZE_BYTES 扩大。

Q: 导入包含 Data Table 的工作流后节点无法配置?
A: 这是已知问题。解决方案是在导入后手动重新配置 Data Table 节点设置。

Q: 能否在多个工作流中共享同一个 Data Table?
A: 可以。同一项目中的所有工作流都能访问该项目的所有 Data Table。

Q: 如何备份 Data Table 中的数据?
A: 使用 Get 节点查询所有数据,然后通过 CSV Export 或 Google Sheets 导出实现备份。

总结

n8n Data Table 是一个强大的功能,它为工作流中的数据管理打开了新的可能性。无论你是完全的初学者还是有一定基础的用户,都能快速掌握这个工具。从表单提交、数据查询到复杂的数据同步,Data Table 都能胜任。最重要的是,你不再需要为了存储几百条数据而苦恼于配置数据库。开始使用 Data Table,让你的工作流更加灵活、高效和易于维护吧!


官方文档[1]
n8n系列教程[2]

引用链接

[1] 官方文档: https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.datatable/
[2] n8n系列教程: https://www.undsky.com/blog/?category=n8n教程#