An upsert combines insert and update behavior. In ScyllaDB, an UPDATE writes values without first checking whether the row exists: existing rows change, while missing rows are created. section 2.3.3
Use an upsert by following the row’s primary-key path:
- Start with UPDATE and name the table. section 2.3.3
- Set the columns whose values should be written. section 2.3.3
- Filter with the partition key and other identifying columns in WHERE. section 2.3.3
- Leave unchanged columns untouched when updating an existing row. section 2.3.3
Updating a restaurant review
An UPDATE can revise the fried-chicken review for Ernie’s Eats. Reading the row afterward shows the new review while its other columns remain unchanged. An equivalent INSERT writes the same complete row.
This differs from SQL’s usual UPDATE expectation: SQL generally implies that the row already exists, whereas ScyllaDB avoids a preliminary existence check to keep writes fast. section 2.3.3


