Load & edit

Insert rows directly

Append new rows to an existing table with insert_rows.

insert_rows appends rows to an existing table. Use it when all rows are new and you want a simpler call than merge_rows.

Insert

eddytor insert table eddytor sales orders --file ./new-orders.csv

The file can be CSV, TSV, JSON, or JSONL.

{ "table": "eddytor.cfg_xxx.<uuid>_products",
  "rows": [
    { "product_id": "P200", "name": "New Item", "category": "Clothing", "price": 19.99, "status": "active" },
    { "product_id": "P201", "name": "Another",  "category": "Clothing", "price": 24.99, "status": "active" }
  ]}

Every write is validated

All inserts enforce PK uniqueness, NOT NULL, CHECK constraints, and domains. If any row fails, the entire batch is rejected - fix the offending rows and retry the whole batch.

Good to know

Batch your writes - prefer fewer, larger calls. One insert_rows with 1000 rows is one Delta version; 1000 single-row calls are 1000 versions. Fewer, larger writes keep the history readable and reduce compaction churn (less optimize work later).

Insert vs merge

  • insert_rows - all rows are new. Simpler.
  • merge_rows - mix of insert/update/delete, or upsert-by-key. Use it when rows might already exist.

On this page