Sometimes an integration run in Skyvia finishes with Success, but no new data is inserted or updated in the target table. This situation most often occurs when using the UPSERT operation.
UPSERT decides whether to Insert or Update a record based on the ID (primary key) field:
If the source provides an ID value that does not exist in the target, Skyvia tries to update a record that is not there. The run completes successfully, but no rows are changed, because there is nothing to update. This is expected behavior, not an error.
Instead of mapping the target ID directly, configure it as a Lookup based on another unique field. In the Lookup settings, enable the Set null when no record found option.
Result:
| Scenario | Without Lookup | With Lookup |
|---|---|---|
| Matching record exists | Updates the record | Updates the record |
| No matching record exists | No action, run succeeds | Inserts a new record |