Table

Merge insert (upsert) records into a table

Performs a merge insert (upsert) operation on a table. This operation updates existing rows based on a matching column and inserts new rows that don't match. Returns the number of rows inserted and updated.

post/v1/table/{id}/merge_insert

Path parameters

idstring required

string identifier of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, v1/namespace/./list performs a ListNamespace on the root namespace.

Query parameters

onstring required

Column name to use for matching rows (required)

when_matched_update_allboolean

Update all columns when rows match

when_not_matched_insert_allboolean

Insert all columns when rows don't match

Response

Result of merge insert operation

num_updated_rowsinteger

Number of rows updated

num_inserted_rowsinteger

Number of rows inserted

num_deleted_rowsinteger

Number of rows deleted (typically 0 for merge insert)

versioninteger

The commit version associated with the operation

Example response

{
  "num_inserted_rows": 0,
  "num_updated_rows": 0,
  "num_deleted_rows": 0,
  "version": 0
}

Changes