Change Tracking
Changes are queued in memory, not applied immediately. Edit cells, insert rows, delete rows, then review everything before saving. Nothing touches the database until you click Save Changes. The queue is per-tab; switching tabs preserves your edits.
Data grid with pending changes highlighted
Data Changes
Edit cells: double-click a cell to edit (see Data Grid). Changes queue immediately. Changing a value back to its original removes it from the queue. Columns the driver marks immutable, such as MongoDB’s_id, cannot be edited.
Add rows: click + Add in the status bar or press Cmd+Shift+N. A new row appears at the bottom of the grid; columns with default values are pre-filled with DEFAULT. Edits to cells in a new row fold into the INSERT, not tracked as separate updates.
Delete rows: select rows and press Delete. Deleted rows show a strikethrough and stay visible until you save. Saving asks you to confirm before the rows are permanently deleted.
Deleting many rows saves as one batched DELETE with OR-combined conditions, not one query per row. Very large selections are split into a few statements to stay within the engine’s bind-parameter limit.
Saving
Click Save Changes (the toolbar checkmark) or pressCmd+S. TablePro generates parameterized SQL, executes it, clears the queue, and refreshes the grid.
Tables without a primary key are updated and deleted by matching every original column value; NULL values match with
IS NULL. Saving fails with an error only when a row cannot be identified.
There is no discard button. To drop pending changes, undo them, or accept the Discard Unsaved Changes? prompt that appears when you refresh, sort, filter, change pages, or close the tab with edits pending.
Previewing SQL
Click the eye icon in the toolbar or pressCmd+Shift+P to see the exact SQL before saving. The preview inlines parameter values so you can verify what will run, and Copy All copies every statement.
Undo & Redo
Cmd+Z is context-aware: it undoes text edits when the SQL editor is focused and data changes when the grid is focused. Deleting multiple rows is a single undo action; undoing restores them all at once. Stacks are per-tab, and saving clears them.

