我的 Google Sheets 節點一直在覆蓋數據

我在我的工作流程中使用了 Google 工作表節點,當我嘗試附加時,它一直在替換現有的行

描述問題/錯誤/問題

錯誤訊息是什麼(如果有的話)?

請分享您的工作流程

(選取畫布上的節點,使用鍵盤快速鍵 CMD+C/CTRL+C 和 CMD+V/CTRL+V 來複製並貼上工作流程。)

分享最後一個節點傳回的輸出

您的 n8n 設定資訊

  • n8n 版本:
  • 資料庫(預設:SQLite):
  • n8n EXECUTIONS_PROCESS 設定(預設:own、main):
  • 執行 n8n 的方式(Docker、npm、n8n cloud、桌面應用程式):
  • 作業系統:

這很可能是因為你新增了錯誤的操作或缺少唯一索引鍵,你可以在更新時定義適當的查詢欄位來修正它

我會先將其視為 append-vs-update 衝突來進行偵錯,然後再變更更多對應。

最小可用檢查:

1. 在 Google Sheets 之前立即新增一個 Set 節點,使用假的 `source_row_id`,例如 `test_a` 和 `test_b`,加上時間戳記。

2. 在 Google Sheets 節點中,確認確切的操作是 append/add row,而不是 update、upsert 或 append-or-update。

3. 檢查是否對應了任何列號、符合欄、範圍或關鍵欄位。如果每個項目都發送了穩定的列號或相同的符合鍵,該節點將持續鎖定同一列。

4. 在 Sheets 節點之後,記錄返回的列號/列 id(如果 n8n 提供)。

5. 僅執行兩個假項目。預期結果:兩個具有不同 `source_row_id` 值的新列。

如果第二個假項目覆蓋了第一個項目,可能的原因不在工作表本身;而是工作流程給兩個項目提供了相同的目標列或相同的查詢鍵。

為了獲得更安全的工作流程,我會在工作表中保留三個欄位:

- `source_row_id` 或 `run_item_id`,

- `write_mode`,例如 `append` 或 `update`,

- `written_at`。

之後只有在 `source_row_id` 應該是唯一且穩定時才使用 update/upsert。如果你想要稽核日誌,請使用純粹的 append 並避免對應任何現有的列號。