Actions9
- Table Actions
- Query Actions
- Connection Actions
- System Actions
Table → Upsert
AI-generatedSummary
Insert each input item into the selected table, or update its existing row when the configured match columns identify one. The node checks for a match, inserts when none is found, and retries as an update after a unique-constraint violation when there are non-key columns to update.
Inputs
- Connection Name or ID (required) — Preconfigured ODBC/JDBC Gateway connection used to run the database requests.
- Schema Name or ID — Schema containing the table; leave empty to use the driver's default.
- Table Name or ID (required) — Target table.
- Match Columns (required) — One or more key columns used to find an existing row. Include every match column in Values to Send.
- Values to Send (required) — Column/value pairs to insert or update. Map values with expressions such as
{{ $json.name }}. Values are sent as bound query parameters. Match-column values identify the row and are excluded from the update set.
Output shape
One item per input item, containing a single result record.
Each result has
table,action(inserted,updated, orskipped (no non-key columns to update)), andaffected_rows(null if the gateway omits it). If a matching row exists and only match columns were provided, the operation skips the update. With Continue On Fail enabled, an error is returned for the affected input item instead.
Examples
Example 1: Insert a new contact or update it by email
Select a connection, schema, and table; set email as the match column; provide email and name in Values to Send, mapping them from the input item.