1

Тема: Объединить несколько дампов в один

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

2

Re: Объединить несколько дампов в один

При наличии пересекающихся первичных ключей, запрос INSERT выдаст ошибку, а REPLACE заменит записи пересекающихся ключей. Единственный вариант - это искусственно увеличить значения ключей, чтобы в первом магазине они были, например, от 1 до 100, во втором от 101 до 200 и т. д. После этого можно будет совместить данные в одной таблице.

3

Re: Объединить несколько дампов в один

Hanut сказал:

это искусственно увеличить значения ключей, чтобы в первом магазине они были, например, от 1 до 100, во втором от 101 до 200 и т. д. После этого можно будет совместить данные в одной таблице.

это можна настроить при экспорте таблицы?

4

Re: Объединить несколько дампов в один

keytri сказал:

это можна настроить при экспорте таблицы?

Нет, надо копировать таблицу и затем выполнить запрос вида:

UPDATE `table` SET `id` = `id` + 100;

Это увеличит все идентификаторы с именем `id` на 100. Насколько увеличивать, имя таблицы и ключевого поля надо установить самостоятельно.

5

Re: Объединить несколько дампов в один

если можна, объясните подробнее

В phpMyAdmin захожу в нужную мне таблицу, выбираю Операции, далее Скопировать таблицу в (база данных.таблица):
что делать дальше?

6

Re: Объединить несколько дампов в один

Дальше надо выбрать новое имя таблицы.

В скопированной таблице посмотрите поле первичного ключа, смотреть надо в структуре. Обычно это имя имеет имя id. Далее выполняете запрос, как я указал выше. После этого сохраняете в дамп одну таблицы структуру и данные, остальные только с данными, без структуры. Импортируете все дампы в одну таблицу.

7 (изменено: keytri, 2012-11-20 15:50:33)

Re: Объединить несколько дампов в один

да, нашел, у меня этот параметр называется products_id
сделал запрос - получилось. благодарю. теперь остался импорт smile