Como posso restaurar uma única coluna de uma única tabela do MySQL?

5

Eu tenho um banco de dados no qual há uma tabela em que uma coluna possui dados inválidos.

Eu também tenho um backup do banco de dados de alguns dias antes. Nesse backup, essa coluna ainda tem os dados válidos. Mas outras tabelas nesse banco de dados já estão incrivelmente desatualizadas.

Portanto, uma reversão completa para esse backup não é uma opção. Em vez disso, gostaria de importar apenas essa coluna única e corrompida do backup para o banco de dados atual.

O banco de dados ao vivo também acumulou algumas novas linhas válidas nessa tabela. Obviamente, gostaríamos que fossem preservados.

Não consigo pensar em uma maneira que não envolva edição pesada e manual. Isso pode ser automatizado?

    
por Der Hochstapler 01.08.2012 / 00:41

1 resposta

6

Sim, você pode. Importe os dados do backup para uma tabela temporária e faça algo assim:

UPDATE target_schema.target_table tt
JOIN source_schema.source_table ss ON tt.t_id = ss.s_id
SET tt.target_column = ss.source_column;
    
por 01.08.2012 / 00:45

Tags