MySQL: trovare le differenze negli schemi tra due tabelle in due database diversi
ATTENZIONE!
Il post ha più di 2 anni e le informazioni contenute
potrebbero essere obsolete (ad esempio a causa di un
aggiornamento di versione rispetto agli elementi descritti
o links modificati da siti esterni).
Uno snippet veloce per trovare le differenze tra due tabelle in due database diversi (molto utile quando ci si è persi qualche modifica!).
E' sufficiente modificare le variabili database_1, database_2 e table_1 per avere la lista delle differenze:
SELECT table_schema,table_name,column_name,ordinal_position,data_type,column_type FROM
(
SELECT
table_schema,table_name,column_name,ordinal_position,
data_type,column_type,COUNT(1) rowcount
FROM information_schema.columns
WHERE
(
(table_schema='database_1' AND table_name='table_1') OR
(table_schema='database_2' AND table_name='table_1')
)
AND table_name IN ('table_1')
GROUP BY
column_name,ordinal_position,
data_type,column_type
HAVING COUNT(1)=1
) A
Fonte: https://dba.stackexchange.com/questions/75532/query-to-compare-the-structure-of-two-tables-in-mysql

Commenti