SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 01.08.2013 13:04:49

IRONHiDE
Участник
Зарегистрирован: 31.07.2013
Сообщений: 2

Восстановление поля из бэкапа

Здравствуйте!
В MySQL плохо разбираюсь, так что сразу извиняюсь за возможные неточности.
Есть база данных site и её бэкап.

База данных site содержит, на сколько я понимаю, таблицы site_logs, site_files, site_users и прочие.
Интересует таблица site_files, которая имеет поле (если я не ошибаюсь) info_hash.

Требуется восстановить значения для поля info_hash из бэкапа, при этом не затронув значения, которые появились после бэкапа.

Заранее спасибо за помощь.

Отредактированно IRONHiDE (01.08.2013 13:27:58)

Неактивен

 

#2 01.08.2013 14:09:18

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Восстановление поля из бэкапа

1) создаете базу test (если её нет).

2) восстанавливаете бэкап в базу test.
(можно предварительно сделать копию бэкапа и из неё удалить всё кроме команд create table site_file.. и insert into site_file.. тогда восстановиться только одна нужная вам таблица)

Теперь у вас есть 2 таблицы site_files в разных базах. Пусть id - поле, которое однозначно определяет запись (у вас может называться иначе или быть комбинацией полей)
Тогда


UPDATE site.site_files, test.site_files SET site.site_files.info_hash = test.site_files.info_hash
WHERE site.site_files.id = test.site_files.id; -- вернет значения поля info_hash в те, что были в бэкапе

http://dev.mysql.com/doc/refman/5.5/en/update.html

После удалите лишнее из тестовой базы.

Неактивен

 

#3 01.08.2013 14:32:13

IRONHiDE
Участник
Зарегистрирован: 31.07.2013
Сообщений: 2

Re: Восстановление поля из бэкапа

Большое спасибо, что-то подобное я и хотел сделать, первые два пункта уже были сделаны.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson