Edit Data
Inline-edit cells, insert, duplicate, and delete rows in any table.
All edits live in client-side pending state until you click Save — which batches every dirty insert / update / delete into one transaction.
Inline edit
Trigger
Double-click on a cell opens an inline editor.
Commit / cancel keys
| Key | Action |
|---|---|
Enter | Commit + move down |
Shift+Enter | Commit + move up |
Tab | Commit + move right |
Shift+Tab | Commit + move left |
Escape | Cancel (no commit) |
onBlur | Commit (unless Escape was just pressed) |
Insert a row
Toolbar + button. The new row appears at the bottom in "new" status.
Server-managed columns
Auto-increment / default columns are best left blank — the database fills them on insert.
Clone a row
Select row(s) (header click + Cmd/Ctrl-click) → right-click → Clone Row. New clone appears as a pending insert.
Delete a row
Select row(s) → right-click → Delete Row. Marked as pending; only committed when you click Save.
Save
What's in a save
All dirty inserts + updates + deletes get serialized into one transaction via data_batch_save — the engine pins a single connection for the whole batch. Atomic: rollback on any failure.
Where the SQL comes from
RaisDB generates per-statement INSERT / UPDATE / DELETE through sqlproc::dml — dialect-correct SQL for whatever engine you're on.
Read-only mode
If the connection was saved with read-only on:
- The
+insert button is disabled - Double-click does not open the editor
- The Save button is not shown
Edit the connection and toggle read-only off to re-enable edits. See The Connection Form.