EddytorDocs & API
07 · Tables A→ZH · Edit data over time

Update existing rows via merge

Update rows by primary key with merge_rows - send only the key and the changed fields.

To change existing rows, use merge_rows with _operation: "UPDATE", keyed on the primary key. Send only the PK and the fields you're changing - omitted columns keep their current values.

Update

{ "table": "eddytor.cfg_xxx.<uuid>_products",
  "comment": "Q1 repricing",
  "rows": [
    { "_operation": "UPDATE", "product_id": "P001", "price": 34.99 },
    { "_operation": "UPDATE", "product_id": "P002", "price": 12.50, "status": "active" }
  ]}
eddytor merge table eddytor sales orders --file ./price-changes.csv

Heads up

Send PK + changed fields only. Sending every column wastes bandwidth and risks clobbering a concurrent change to a field you didn't mean to touch. Always include _operation on each row.

Update by condition

merge_rows keys on the PK, so to update "all rows where …":

  1. query_rows with the filter to get the matching PKs.
  2. Build UPDATE rows for those PKs.
  3. merge_rows with a comment.

Atomic & validated

The batch is atomic and fully validated - if any updated row breaks a constraint or domain, the whole batch is rejected. Then validate and check the history metrics.

Next

On this page