webyog / sqlyog-community

Webyog provides monitoring and management tools for open source relational databases. We develop easy-to-use MySQL client tools for performance tuning and database management. Webyog's solutions include SQL Diagnostic Manager for MySQL performance optimization and SQLyog for MySQL administration. More than 35,000 companies (including Amazon, IBM, Salesforce, AT&T, eBay, and GE) and 2.5 million users rely on Webyog's solutions to provide valuable insights into their databases. Webyog is an Idera, Inc. company.
https://webyog.com/
GNU General Public License v2.0
2.21k stars 325 forks source link

Visual Data Compare updates all columns #2214

Open mclaborn opened 5 years ago

mclaborn commented 5 years ago

When using Visual Data Compare to compare 2 tables, the UI detects that only some of the columns have changed, yet when you preview the SQL that will be used, all columns in the target DB/table are being update. I think it should only update the columns that are different, or give the user the option to do so.

sibwy commented 5 years ago

Please contact us at ideramysqlsupport@idera.com. An issue tracker is not a proper place for support.

We need information like:

  1. Your SQLyog version?
  2. Sample table schema with sample data (of both source and target tables )that can be used to reproduce your case.

But please reply to the questions in a mail to ideramysqlsupport@idera.com and not here.

mclaborn commented 5 years ago

I will send you the info at that email address as requested.

However, this is clearly NOT a support situation but an issue with the software. That is EXACTLY what an issue tracker is for.

sibwy commented 5 years ago

Since we have looked into this and this seems to be a valid request, we have reopened this case.

In 'Visual Data Comparison Wizard' option, SQLyog currently updates the data of all the columns of a row even if only a single column in the row has a data mismatch.

For example, consider the below data, Source table data: (4,'ddd',4,'2019-03-20 08:04:40')

Target table data: (4,'ddd',4,'2019-03-20 08:04:55')

SQLyog generates the query,

update
     table_name
set
   `id` = '4', `cola` = 'ddd', `colb` = '4', `colc` = '2019-03-20 08:04:40'
where `id` = '4';

instead of

update
   table_name
set
   `colc` = '2019-03-20 08:04:40'
where `id` = '4';

This request applies to 'Data synchronization Wizard' option as well.