6
votes

MySQL: comparer la structure de deux tables

J'ai deux tables. Les valeurs à l'intérieur d'eux ne sont pas identiques, mais la majeure partie de la struture est la même, l'une des tables a quelques champs supplémentaires. Dans une forme simplifiée, j'ai quelque chose comme ceci:

|table_1|    |table_2|
id           id
name         name
telephone    telephone
email        email
             address
             language


1 commentaires

J'ai fait un outil gratuit qui génère l'instruction Alter pour rendre la deuxième table identique à celle du premier, toujours alpha Tablediff.com


3 Réponses :



0
votes

Je suis trop tard, mais je pose ma réponse afin que quelqu'un de choisir peut avoir plus d'options pour choisir le formulaire

On m'a donné un défi de migrer des données de et de la vieilles dB sur une nouvelle. Une chose était que les tables gardaient leur nom, mais la structure a été modifiée. Les valeurs par défaut m'ont été données sur chaque table et où il n'a pas été fourni, c'était une autre tâche de le faire. Le RDBMS était Mariambb 10.1 et j'ai utilisé le script suivant pour avoir la différence dans les colonnes. P>

set @tem = cast('tabl1' as char(90));
set @db_new = cast('db_new' as char(90));
set @db_old = cast('db_old' as char(90));
select n.column_name newCol, (case when o.column_name is null then '''''' else
o.column_name end) oldCol from information_schema.columns as n 
left join information_schema.columns as o on (n.table_name = o.table_name and n.column_name = o.column_name and o.table_schema = @db_old)
where 
n.table_name = @tem
and
n.table_schema = @db_new


0 commentaires

1
votes

Pour voir les différences de deux tables dans deux bases de données différentes xxx

réponse originale est donnée par / à < Un href = "https://dba.stackexchange.com/a/75651/193007"> https://dba.stackexchange.com/a/75651/193007


0 commentaires