
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
08.10.2014, 16:50:55
|
|||
|---|---|---|---|
|
|||
Как объединить две бд, имеющие таблицы связей, в одну? |
|||
|
#18+
Если просто добавить, то саморост индексов всё попутают и нарушаться связи. Я пока догадался до увеличения индексов в одной из бд на одинаковое число, чтобы они стали больше, чем в другой бд и не заменились при слиянии. Но тут два вопроса: — как индексы из таблиц одной бд добавить в столбцы с саморастущими индексами таблиц другой бд как есть, без изменений?; — как запросом увеличить всё на определённое число? В общем трудно мне с этими связями, не знаю возможностей запросов в такой ситуации. Подскажите, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.10.2014, 19:58:43
|
|||
|---|---|---|---|
|
|||
Как объединить две бд, имеющие таблицы связей, в одну? |
|||
|
#18+
andrejkЕсли просто добавить, то саморост индексов всё попутают и нарушаться связи. Я пока догадался до увеличения индексов в одной из бд на одинаковое число, чтобы они стали больше, чем в другой бд и не заменились при слиянии. Но тут два вопроса: — как индексы из таблиц одной бд добавить в столбцы с саморастущими индексами таблиц другой бд как есть, без изменений?; — как запросом увеличить всё на определённое число? В общем трудно мне с этими связями, не знаю возможностей запросов в такой ситуации. Подскажите, пожалуйста. мдя...попадос. идеального решения нету тут только брать да думать, что и как можно сделать чтоб не пересеклися. может просто брать из одной да вставлять в другую? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.10.2014, 09:10:13
|
|||
|---|---|---|---|
Как объединить две бд, имеющие таблицы связей, в одну? |
|||
|
#18+
andrejk— как индексы из таблиц одной бд добавить в столбцы с саморастущими индексами таблиц другой бд как есть, без изменений?; Никак. Возникнет дублирование, и процесс добавления обломится. Если при этом часть данных ляжет в таблицы - это трындец данным. andrejk— как запросом увеличить всё на определённое число? Разорвать связи. После чего выполнить апдейт данных - причём в порядке его уменьшения. Выполнить смещение текущего значения автоинкремента. И затем восстановить связи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.10.2014, 09:39:18
|
|||
|---|---|---|---|
Как объединить две бд, имеющие таблицы связей, в одну? |
|||
|
#18+
Ну по хорошему во все PK нужно добавлять ещё одно поле -- номер БД, и тогда можно будет слить две БД в одну без перекодирования первичных ключей. Это один из вариантов. Если перекодировать -- другой вариант -- то это надо брать все независимые сущности, перекодировать их PK, запоминать при этом соответствие старых и новых ID-ов, а затем перекодировать все PK и FK в зависимых сущностях. Можно (третий вариант, разновидность второго) написать процедуру добавления записей из одной БД в другую, с проставлением новых идентификаторов. Для каждой независимой сущнсти. И потом прогонять их для всех данных построчно. В любом случае это очень сложная задача. Первый вариант наверное самый простой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.10.2014, 11:21:08
|
|||
|---|---|---|---|
Как объединить две бд, имеющие таблицы связей, в одну? |
|||
|
#18+
MasterZivНу по хорошему во все PK нужно добавлять ещё одно поле -- номер БД, и тогда можно будет слить две БД в одну без перекодирования первичных ключей. Это один из вариантов. Но уникальный индекс на поле-автоинкремент на стороне "один" FK никуда не делся - коллизии неминуемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.10.2014, 02:58:59
|
|||
|---|---|---|---|
|
|||
Как объединить две бд, имеющие таблицы связей, в одну? |
|||
|
#18+
А если делать выборк из одной бд и записывать в другую, то как перебирать записи скриптом не по значениям в ключевом поле, а именно поочереди, ведь в значениях есть разрывы и много циклов будет вхолостую? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.10.2014, 03:02:16
|
|||
|---|---|---|---|
|
|||
Как объединить две бд, имеющие таблицы связей, в одну? |
|||
|
#18+
alex564657498765453, спасибо за совет брать из одной таблицы и просто вставлять в другую. Я так и сделал. Написал на PHP скрипт, который собирал в массив связку данных из старой таблицы и просто всталял их в новую, а новые связи формировались уже сами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.10.2014, 13:49:40
|
|||
|---|---|---|---|
Как объединить две бд, имеющие таблицы связей, в одну? |
|||
|
#18+
andrejkЯ так и сделал. Написал на PHP скриптВ общем, сделал то, что советовал я, только, не зная сервера, на клиенте... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.10.2014, 16:28:03
|
|||
|---|---|---|---|
|
|||
Как объединить две бд, имеющие таблицы связей, в одну? |
|||
|
#18+
М-да, по моему сообщению действительно похоже, что я поблагодарил только одного советчика, но это не так, спасибо всем. Просто я указал на того, кто был первее) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.10.2014, 16:31:40
|
|||
|---|---|---|---|
Как объединить две бд, имеющие таблицы связей, в одну? |
|||
|
#18+
Это неважно. Главное, что ты не смог использовать наиболее подходящий инструмент, и предпочёл более знакомый. Один раз, может, и не так страшно, но если это войдёт в привычку - беда... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.10.2014, 16:37:14
|
|||
|---|---|---|---|
|
|||
Как объединить две бд, имеющие таблицы связей, в одну? |
|||
|
#18+
Я, наверное, не понял суть твоего варианта. Можешь повторить? Мне интересно, что я тут пропустил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1834092]: |
0ms |
get settings: |
4ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
43ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 302ms |

| 0 / 0 |
