- Узнайте идентификаторы прежнего и нового товарных разделов.
Идентификаторы — это числа, они отображатся рядом с названием товарного раздела после выбора товарного раздела в заголовке товарного раздела на административном экране товарного раздела.
- Откройте посредством phpMyAdmin базу данных интернет-магазина.
- Сделайте на всякий случай резервную копию базы данных (в верхнем меню phpMyAdmin пункт «Export»)
- Дважды выполните запрос SQL (в верхнем меню phpMyAdmin пункт «SQL») по следующему шаблону:
UPDATE catalog_category_product SET category_id = <идентификатор нового раздела> WHERE category_id = <идентификатор прежнего раздела> AND product_id NOT IN ( SELECT product_id FROM catalog_category_product WHERE category_id = <идентификатор нового раздела> ) ; DELETE FROM catalog_category_product WHERE category_id = <идентификатор прежнего раздела>; UPDATE catalog_category_product_index SET category_id = <идентификатор нового раздела> WHERE category_id = <идентификатор прежнего раздела> AND product_id NOT IN ( SELECT product_id FROM catalog_category_product_index WHERE category_id = <идентификатор нового раздела> ) ; DELETE FROM catalog_category_product_index WHERE category_id = <идентификатор прежнего раздела>;
Вместо <идентификатор нового раздела> и <идентификатор прежнего раздела> подставьте числа из пункта 1. - Перестройте все расчётные таблицы (в разделе «Система» → «Расчётные таблицы»)
- Обновите весь кэш (в разделе «Система» → «Кэширование»)
Как массово перенести товары из одного раздела в другой посредством SQL?
23.03.2015 17:43