И так для начала, делаем резевную копию базы-источника, ибо потом нам предстоит удалять некоторые таблицы.
После того как резервная копия сделана удаляем последовательно все таблицы, КРОМЕ перечисленных ниже:
В оставшихся таблицах через редактор свойств таблиц удаляем те колонки, что будут отсутствовать в той БД, куда мы планируем перенести данные.
После чего делаем дамп оставшегося обрубка.
Затем наполняем базовым содержанием базу-приёмник и делаем её резевную копию на случай не восстановления после некорректного слияния.
Потом нам предстоит осуществить опустошение содержимого для ранее указанных таблиц в базе-приёмнике, на случай, если не планируется объединение содержимого.
Вооружившись текстовым редактором правим файл-дамп заменяем строки
на такую запись
Так же необходимо учитывать, что в таблице inventory содержимое столбца itemUniqueId в объединяемых базах не должно совпадать, иначе пересекающиеся по этому столбцу данные будут отброшены при наложении как дублирующиеся и часть пользователей может недосчитаться части инвентаря.
Поэтому полезно будет создать на базе дампа базы приёмника - промежуточную базу, произвести наложение дампа-обрубка, запомнить на какие строки ругалась утилита импорта, поправить в обрубке необходимое, очистить промежуточную базу и повторить всё до завершения без ошибок, после чего можно и на базу-приёмник наложить дамп-обрубка...
Добавлено через 16 минут
Если есть ошибки - пишите, исправлю...
После того как резервная копия сделана удаляем последовательно все таблицы, КРОМЕ перечисленных ниже:
Цитата:account_data
inventory
item_stones
legions
legion_announcement_list
legion_emblems
legion_history
legion_members
players
player_appearance
player_effects
player_macroses
player_passkey
player_pets
player_punishments
player_quests
player_recipes
player_settings
player_skills
player_titles
player_world_bans
В оставшихся таблицах через редактор свойств таблиц удаляем те колонки, что будут отсутствовать в той БД, куда мы планируем перенести данные.
После чего делаем дамп оставшегося обрубка.
Затем наполняем базовым содержанием базу-приёмник и делаем её резевную копию на случай не восстановления после некорректного слияния.
Потом нам предстоит осуществить опустошение содержимого для ранее указанных таблиц в базе-приёмнике, на случай, если не планируется объединение содержимого.
Вооружившись текстовым редактором правим файл-дамп заменяем строки
Цитата:DROP TABLE IF EXISTS `player_titles`;
CREATE TABLE `player_titles` (
`player_id` int(11) NOT NULL,
`title_id` int(11) NOT NULL,
PRIMARY KEY (`player_id`,`title_id`),
CONSTRAINT `player_titles_ibfk_1` FOREIGN KEY (`player_id`) REFERENCES `players` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=MyISAM DEFAULT CHARSET=utf8
INSERT INTO player_titles VALUES
(11111,1);
на такую запись
Цитата:INSERT INTO player_titles (player_id, title_id) VALUES
(11111,1);
Так же необходимо учитывать, что в таблице inventory содержимое столбца itemUniqueId в объединяемых базах не должно совпадать, иначе пересекающиеся по этому столбцу данные будут отброшены при наложении как дублирующиеся и часть пользователей может недосчитаться части инвентаря.
Поэтому полезно будет создать на базе дампа базы приёмника - промежуточную базу, произвести наложение дампа-обрубка, запомнить на какие строки ругалась утилита импорта, поправить в обрубке необходимое, очистить промежуточную базу и повторить всё до завершения без ошибок, после чего можно и на базу-приёмник наложить дамп-обрубка...
Добавлено через 16 минут
Если есть ошибки - пишите, исправлю...