Назад | Перейти на главную страницу

Как я могу восстановить один столбец одной таблицы MySQL?

У меня есть база данных, в которой есть одна таблица, в которой один столбец содержит недопустимые данные.

У меня также есть резервная копия указанной базы данных, сделанная несколькими днями ранее. В этой резервной копии в этом столбце все еще есть действительные данные. Но другие таблицы в этой базе данных уже невероятно устарели.

Таким образом, полный откат к этой резервной копии невозможен. Скорее я хотел бы импортировать только этот единственный поврежденный столбец из резервной копии в текущую базу данных.

В жить в базе также накопилось несколько новых, действительный строк в этой таблице. Очевидно, мы хотели бы, чтобы они сохранились.

Я не могу придумать способ, который бы не требовал тяжелого ручного редактирования. Можно ли это автоматизировать?

Да, ты можешь. Импортируйте эти данные из резервной копии во временную таблицу и сделайте что-то вроде этого:

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;