如何恢复单个 MySQL 表的单个列?

如何恢复单个 MySQL 表的单个列?

我有一个数据库,其中有一个表,其中一列包含无效数据。

我还有几天前的该数据库的备份。在该备份中,该列仍包含有效数据。但该数据库中的其他表已经过时得令人难以置信。

因此,完全回滚到该备份不是一个选项。相反,我只想将备份中损坏的单个列导入当前数据库。

居住数据库还积累了一些新的,有效的表中的行。显然,我们希望保留这些行。

我想不出一种不需要大量手动编辑的方法。这可以自动化吗?

答案1

是的,你可以。将备份中的数据导入临时表并执行以下操作:

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;

相关内容