Войти

Показать полную графическую версию : Объединение 2х аналогичный MySQL БД


DruidMX
29-04-2007, 14:18
Здравствуйте!
Такая проблемма, имеется 2 БД, с одинаковой структурой.
В 1-ой ~35k записей, во 2-ой, ~10к.
Необходимо, объеденить 2 эти базы.
Можно было бы это сделать обычным импортом через phpmyadmin, но значения поля Id во 2-ой таблице, повторяют значения в 1ой, тоесть у них у обоих, Id начинается с 0-ля.
Собственно сам вопрос: как 2-ую базу добавить к 1ой. Так, что бы Id у 2-ой начинались с конца 1-ой.
Ух, вроде всё. Если что-то нпонятно объяснил, переспросите.
Спасибо.

Vlad Drakula
29-04-2007, 16:05
DruidMX
сложно но можно... нужно будет переписткаь все связи в одной из баз данных чтобы избежать конфликтов

XCodeR
29-04-2007, 16:52
DruidMX
PHP скрипт.

Select всех значений 2 БД
Потом цикл Insert'ов в 1 БД

написание займет 10 минут...

Vlad Drakula
29-04-2007, 16:59
XCodeR
ваш совет не правильный, прочитайте подробнее вопрос.

XCodeR
29-04-2007, 17:03
Vlad Drakula
почему же? требуется объединить 2 таблицы с одинаковой структурой. Мой совет позволяет это сделать. Id первой таблицы скорее всего autoincrement => добавление записей не вызовет проблем.

Vlad Drakula
29-04-2007, 17:08
XCodeR
1) там не две таблицы а две базы
2) одно поле вы восстановите в таблице, а как с полями для остальных связей которые явно вставлялись...

DruidMX
без описания структур баз данных врятли вы получите какойнибуть вразумительный совет

vadimiron
29-04-2007, 20:00
DruidMX
А одинаковых значений нет?? То есть нужно просто "навесить"??

Главная проблема - это связи. Сделайте во второй базе правильную структуру: то есть пропишите все связи методом "CASCADE ON UPDATE", далее сделайте update всех ключевых полей (то есть ID) в 2-ой базе в соответствие с первой базой(благодаря CASCADE ON UPDATE все поля связи тоже обновяться) и только потом можно уже просто экспортировать в 1-ую базу

70x93n
30-04-2007, 03:26
С мутором можно переписать дамп через текст реплэйсер какой нить если не так мого значений. И залить через UPDATE/




© OSzone.net 2001-2012