Задавайте вопросы, мы ответим
Вы не зашли.
В общем есть 2 БД, одна на 520 товаров, другая на 170, в общем мне нужно влить бд2 в бд1 таким образом, чтобы в базе 1 с 520 товарами, изменилось всё кроме ID
Вот первая(520) и вторая(170) база
Неактивен
Кто найдет решение получит 3.30 бакса, которые завалялись в моём электронном кошельке, они ждут Вас
Отредактированно Avanege (11.02.2012 18:46:41)
Неактивен
Avanege написал:
Возможно ли?
Возможно.
Осталось лишь конкретизировать задачу
Неактивен
vasya написал:
Avanege написал:
Возможно ли?
Возможно.
Осталось лишь конкретизировать задачу
Сможешь помочь?
Неактивен
А для чего я, по вашему, отвечал в прошлом сообщении?
Неактивен
Что именно вас интересует из моего вопроса, что именно уточнить?
Неактивен
Какой результат вы хотите получить: в первой базе должно получиться 520 строк или 170? Если 520, то какие строки меняются, что с остальными? Если 170, то какие id должны остаться неизменными? Что подразумевается под ID - любая колонка имеющая в своем имени _id?
Неактивен
У каждого товара в базе есть свой `product_id` , при добавлении продукта в интернет магазин все данные записываются в таблицы oc_product, oc_product_attribute, и так далее (все таблицы есть в файлах).
К примеру в oc_product записывается основная информация о продукте, в другие таблицы вспомогательная(изображения, описание, атрибуты,категория, итд)
То есть при добавлении товара формируется его `product_id` , этот `product_id` прописывается вспомогательных таблицах, ссылаясь на товар.
Мне нужно перенести товары из 170 в 520 c заменой, и там и там они есть, но с разным описанием, атрибутами итд.
Совпадает только артикул (поле sku). Но перенести так, чтобы товар А из таблицы А(520) перенесся в таблицу Б(170), пере записалось все кроме артикула и `product_id`.
Неактивен
Avanege написал:
Мне нужно перенести товары из 170 в 520 c заменой, и там и там они есть, но с разным описанием, атрибутами итд.
Совпадает только артикул (поле sku). Но перенести так, чтобы товар А из таблицы А(520) перенесся в таблицу Б(170), пере записалось все кроме артикула и `product_id`.
Так, всё-таки, из 520 в 170 или наоборот?
Неактивен
Т.е. артикул уникальное значение и его совпадение в разных базах указывает на то, что это один товар?
Тогда вам нужен Multiple-table update
Например, для oc_product
update db1.oc_product, db2.oc_product set db1.oc_product.`model`=db2.oc_product.`model`, db1.oc_product.`country`=db2.oc_product.`country`,.....для всех полей кроме `sku` и `product_id` ....
where db1.oc_product.sku=db2.oc_product.sku;
Неактивен
Хорошо, но кроме oc_product есть ешё около 7 таблиц которые требуют замены.
Неактивен
Аналогично. Смотрите какое поле характеризует совпадение записей в разных базах и делаете multiple-table update
Неактивен
Пардон, там сложнее будет. Например, для `oc_product_attribute` будет что-то вроде
update db1.oc_product, db1.`oc_product_attribute`, db2.oc_product, db2.`oc_product_attribute`
set db1.`oc_product_attribute`.`attribute_id`=db2.`oc_product_attribute`.`attribute_id`, ...
....для всех полей кроме` `product_id` ....
where db1.`oc_product_attribute`.`product_id`=db1.oc_product.`product_id`
and db1.oc_product.sku=db2.oc_product.sku
and db2.`oc_product_attribute`.`product_id`=db2.oc_product.`product_id`;
Отредактированно vasya (11.02.2012 21:08:09)
Неактивен
Т.е. для остальных таблиц где запись характеризуется product_id придется делать update через 4 таблицы. Как в прошлом примере.
Неактивен
Примерно понял, спасибо, если будут вопросы, как мне тебя найти?\
=
Неактивен
На форуме
Неактивен
E-mail, это аналог ЛС??? Внутри форумное?) или тебе на мыло сообщения приходят?
Неактивен
На мыло
Неактивен
Трудно будет тебя найти
Неактивен