Database 數據庫節點
Database 節點用於在工作流中直接訪問關係型數據庫。通過配置連接信息和需要執行的 SQL 語句,你可以在流程中讀取業務數據、生成報表、或將AI產出的內容寫入數據庫,從而讓FlowAI與現有系統無縫協作。
節點適用場景
- 數據拉取:查詢 CRM、訂單、庫存等核心系統,為後續分析或提示詞提供及時數據。
- 結果回寫:將工作流產出的文本、結構化數據寫回數據庫,形成閉環。
- 自動化巡檢:定時執行健康檢查或統計語句,結合通知節點推送異常。
- 變量驅動查詢:在 SQL 中引用上游節點輸出,動態生成查詢條件,滿足個性化需求。
節點配置

基礎連接信息
-
節點名稱
- 為節點取一個易於識別的名稱,如“查詢訂單庫”或“寫入日報”
- 下游節點通過
$節點名稱.result引用執行結果
-
數據庫類型
- 目前支持
MySQL與PostgreSQL - 根據實際庫型選擇,系統會自動使用對應的連接方式
- 目前支持
-
主機與端口
host填寫數據庫地址,可使用內網域名或公網IPport非必填;空置時會使用數據庫的默認端口
-
數據庫名稱與憑證
database指定目標庫/Schemausername、password為具備所需權限的賬號- 建議創建只讀或最小權限賬號,避免過度授權
-
變量插值
- 所有輸入字段均可使用 FlowAI 變量,例如
$開始.data.host - 節點會先解析變量後再建立連接,方便聯動其他節點的輸出
- 所有輸入字段均可使用 FlowAI 變量,例如
SQL 與輸出格式
-
SQL 語句
- 在
sql字段填寫需要執行的語句 - 節點會根據語句類型自動識別是“查詢”還是“寫入/更新”
- 查詢語句(如
SELECT、SHOW、WITH等)會返回結果集;其餘語句返回受影響行數等信息
- 在
-
結果格式
- 默認以 Markdown 表格形式輸出,便於直接展示或發送通知
- 將
format設置為json時,可獲得包含columns、rows、truncated信息的結構化結果,適合後續編排使用
-
最大返回行數
max_rows控制查詢最多返回的記錄數,默認 200 行,上限 5000 行- 超出限制時,節點會截斷結果並在輸出中標記,避免一次性拉取過多數據
超時與高級選項
-
執行超時
timeout_seconds定義單次執行的最長等待時間,默認 30 秒- 超時會中斷執行並返回錯誤,確保工作流不會長時間阻塞
-
SSL 與其它參數
- 對於 PostgreSQL,可通過
ssl_mode控制連接方式(如disable、require) options支持附加額外的連接參數,使用鍵值對形式,例如{ "timezone": "Asia/Shanghai" }
- 對於 PostgreSQL,可通過
-
連接可靠性
- 節點會在執行前校驗連接可用性,如無法建立連接會立即返回錯誤
- 建議與循環或條件節點配合,統一處理失敗重試邏輯
節點輸出
$節點名稱.result:當語句執行成功時返回的數據。- 查詢語句默認輸出 Markdown 表格,或在
json模式下輸出{ columns, rows, truncated }結構。 - 寫入/更新語句返回包含
rows_affected、可能的last_insert_id等信息的對象或表格。
- 查詢語句默認輸出 Markdown 表格,或在
$節點名稱.error:執行失敗時填入錯誤信息,成功時為空字符串,便於與條件節點聯動。
在後續節點中可以通過變量訪問執行結果,例如:
最近訂單:{{$查詢訂單庫.result}}若採用 JSON 格式輸出,下游節點可直接讀取 $查詢訂單庫.result 並在節點內部完成解析。
使用示例
示例:讀取最新訂單數據
-
在 Database 節點中填寫:
host: db.internal.localdatabase: salestype: mysqlusername: report_readerpassword: ******sql: SELECT id, customer, total_amount FROM orders ORDER BY created_at DESC LIMIT 10;format: markdown table -
將節點命名為“查詢訂單庫”,後續在通知或LLM節點中插入
$查詢訂單庫.result,即可展示最新訂單列表。 -
若需要按日期篩選,可將條件節點輸出的日期變量嵌入 SQL,例如
... WHERE created_at >= '{{ $時間節點.result }}'。
示例:寫入工作流執行日誌
-
將上游生成的總結內容保存到變量
$總結.result。 -
在 Database 節點配置以下語句:
sql: INSERT INTO workflow_logs (workflow_id, summary, created_at)VALUES ({{ $流程信息.id }}, '{{ $總結.result }}', NOW());format: json -
執行完成後,查看
$寫入日誌.result返回的內容以確認寫入是否成功,並結合條件節點觸發後續動作。
最佳實踐
- 劃分賬號權限:使用專門的讀寫賬戶,限制到所需的庫與表。
- 控制數據量:合理設置
max_rows,必要時在 SQL 中增加LIMIT。 - 監控錯誤:在下游增加條件或通知節點,及時處理
$節點名稱.error。 - 結合緩存:對於頻繁查詢的數據,可搭配變量節點或JSON處理節點緩存結果。
- 記錄超時:若經常遇到超時,建議優化 SQL 或在數據庫側使用索引。
定製服務
官方團隊為您量身定製專業的自動化解決方案