Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Копирование баз
 
 автор: Eugene77   (19.09.2008 в 09:19)   письмо автору
 
 

Есть две базы.
Таблицы в базах имеют идентичные названия, но в структуре таблиц есть небольшие отличия.
Все они сводятся к тому, что в некоторые из таблиц добавлено несколько полей, имеющих значение по умолчанию.
Задача:
Скопировать содержимое одной базы в другую. Отличающиеся поля должны сохранить значение по умолчанию.
Таблиц довольно много, поэтому необходимо как-то автоматизировать эту операцию.
Вторая база изначально не содержит данных, точнее содержит, но их можно сбросить.

  Ответить  
 
 автор: Valick   (19.09.2008 в 09:33)   письмо автору
 
   для: Eugene77   (19.09.2008 в 09:19)
 

Просто добавить в базу новые поля "и весь буй до копейки"))
есть функции возвращающие названия полей, сравниваете для одной и для другой таблицы и вставляете в первую отличающиеся поля из второй.
http://www.php.net/manual/ru/book.mysql.php
http://www.php.net/manual/ru/function.mysql-list-tables.php
http://www.php.net/manual/ru/function.mysql-list-fields.php

Или делаете дамп таблицы уничтожаете её, создаёте заново с нужными полями и заливаете базу обратно.
Хотя может я в чём-то и заблуждаюсь, может не всё так просто.

  Ответить  
 
 автор: Eugene77   (20.09.2008 в 12:33)   письмо автору
 
   для: Valick   (19.09.2008 в 09:33)
 

Спасибо за ссылки на функции!
На их основе я смогу написать нужный мне скрипт.
Я, правда, боюсь, что он слишком долго будет работать.
Дело в том, что я пишу скрипт для для аккуратной (без остановки работы форума) замены в нём базы.
Предполагаю приостановить ненадолго работу всех скриптов, которые пишут хоть что-то в базу ,
скопировать за это время все таблицы и изменить конфиг.
После этого разрешить работу скриптов, но уже на основе нового конфига, в котором прописано уже другое имя базы.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования