Data Table - continue with all present rows after a conditional insert

Hi there,
I am trying to consume a HTTP Enpoint, but only store the returned records once (so there should not be data duplication across multiple workflow invocations, as this will be called in a short loop to fetch new records) so i thought to use a Data Table with a Insert Row Logic only if the row is not present yet. So i should be able to build up a Table with the records beeing present only once and also have a flag like “processed” for the remaining workflow.

This works to check if a record is already preent and if no insert it, but if i afterwards want to continue the workflow with the rows now in the data table (either after a new row was inserted or with the rows already present) i don´t get any rows back from “Get row(s)” anymore.
It works fine if i have a seperate workflow and the trigger is starting the “Get row(s)” (pointing to the same data table, same options etc.)

Do i miss something here, or should i just end the insertion Workflow at this point and start a seperate Workflow with the data from the Data table?

Please share your workflow

Trying to continue using the now present Rows after a new row might be inserted, no data in the “Get row(s)” node.

Just the “Get row(s)” Node on its own:

Share the output returned by the last node

The Get Data Node does not contain the data from the data table if wired to the “If row does not exit” Error Output and “Insert row” node.

Information on your n8n setup

  • n8n version: 1.115.3

  • Database (default: SQLite): default

  • n8n EXECUTIONS_PROCESS setting (default: own, main): default

  • Running n8n via (Docker, npm, n8n cloud, desktop app): Docker

  • Operating system: Debian GNU/Linux 12 (bookworm)

Any suggestions?

Thanks a lot.

I think you have misunderstood success and error here.

success here means node executed successfully if that value exist or not it will be executed.

error will means that node not executed successfully like mismatch in variable type or table does not exist etc.

you should try like this:

if row exist then top flow will not continue as it will not have any output.
and vice versa.

1 Like

Thanks, this was the Solution, by using “If row does not exist” and “If row exists” and then using a merge enriching the bottom flow with the top flow.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.