KS DB Merge Tools
for MS Access
aka AccdbMerge
for SQL Server
aka MssqlMerge
for MySQL
for SQLite
for PostgreSQL
for Oracle
for Cross-DBMS

Data diff tab

  • Opened from:
  • Applicable tab-specific toolbar actions:
    • Refresh information from database. Current position and page will be reset
    • Export to Excel
    • Copy selection to clipboard
    • Show all, new and changed, new, changed records. Current position and page will be reset
    • Jump to the next, previous change
    • Select all, none, invert selection on the left, all, none, invert selection on the right side
    • Merge left selected records to the right side, right selected records to the left side
    • Delete selected records on the left side, selected records on the right side
  • Applicable object types: Tables and Views

This tab allows to compare and merge data for particular table or view (for view only compare). Highlights new and changed records, specific changed fields in the changed row:

for SQLite, data diff tab

Vertical toolbar between two panels contains additional tab-specific actions:

  • 'Column mapping' opens Custom data diff dialog to specify key columns, which columns to show and how to map them if you want to compare columns with changed names
  • or 'Compare definition' opens table/view definition in the Text diff tab
  • Ignore case (for the text data)
  • Ignore leading and trailing whitespaces (for the text data, this option also makes NULL and empty string to be considered as equal)

Each row has selection checkbox nearby - so you can select number of rows with mouse or with Space button from keyboard and do some further actions with selected rows - merge, delete, export selected only. Column headers for non-key fields also have selection checkboxes - so you can merge only required fields. Once you have selected number of rows and clicked merge or delete toolbar button, it will show you the Execute script dialog that will contain SQL script with desired action, so you can review it before apply:

for SQLite, execute data script dialog

Top panel contains:

  • Paging control with page number and page size (on the right side). You can disable paging by specifying 0 as page size. But for large amount of data it is highly recommended to use paging for better performance
  • ??hanges summary for each side: total, new, changed and new+changed row count for the whole table and for current page, selected row count
  • Selected column names

Bottom panel shows selected line from both sides, providing easier comparison of changed values.

Data grid allows sorting on key fields and comparable columns, by mouse click on column name. Note that if you're doing sorting on non-key column - you can get different row count in data grid and different page count, larger than when you had default sorting by key column. This may be confusing from the first look. Here is the explanation by simple example. Let's suppose you have only two columns - ID which is a key and Name, left row has ID=1, Name='A', right: ID=1, Name='B'. With default sorting by key it will be total 1 record, and it will be a changed record because it has the same ID and different Name. But if you do sorting by Name, it has to show Name='A' record followed by Name='B' record. Grid will have to show two records, count and highlight each record on each side as new.

Free version limitations:

  • Table must have compatible primary key consisting of not more than two columns and total amount of columns should be not more than 50
  • Sorting allowed only for primary key column
  • Not available for Views
  • Top panel shows only selected columns; row totals, paging, column mapping and object definition actions are not available
  • No bottom panel
  • No Excel export
  • No jump to the next/revious change
  • No changes highlight in scrollbar
  • Vertical toolbar has only ignore case/whitespace actions

Last updated: 2022-03-11