Simple SQL queries to copy categories from shop with id #2 to #1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# copy all categories from shop #2 to temporary table CREATE TEMPORARY TABLE `category_copy_qwertyuiop` SELECT * FROM `ps_category_shop` WHERE `id_shop` = 2; # change id of the shop to #1 in the temporary table UPDATE `category_copy_qwertyuiop` SET `id_shop` = 1; # insert categories from temporary table to PrestaShop categories # (used 'insert ignore' to skip existing categories in the shop #1) INSERT IGNORE INTO `ps_category_shop` SELECT * FROM `category_copy_qwertyuiop`; # drop temporary table DROP TEMPORARY TABLE IF EXISTS `category_copy_qwertyuiop`; |
If you want to insert all existing categories to the shop #1 you should use this:
(ps_category -> ps_category_shop)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
CREATE TEMPORARY TABLE `category_copy_qwertyuiop` SELECT * FROM `ps_category`; ALTER TABLE `category_copy_qwertyuiop` DROP `id_parent`, DROP `id_shop_default`, DROP `level_depth`, DROP `nleft`, DROP `nright`, DROP `active`, DROP `date_add`, DROP `date_upd`, DROP `position`, DROP `is_root_category`, DROP `action`, DROP `availability1`, DROP `availability2`, DROP `availability3`, DROP `availability4`, DROP `availability5`; ALTER TABLE `category_copy_qwertyuiop` ADD `id_shop` INT NOT NULL AFTER `id_category`; ALTER TABLE `category_copy_qwertyuiop` ADD `position` INT NOT NULL AFTER `id_shop`; ALTER TABLE `category_copy_qwertyuiop` ADD `availability1` INT NOT NULL DEFAULT '1' AFTER `position`; ALTER TABLE `category_copy_qwertyuiop` ADD `availability2` INT NOT NULL DEFAULT '0' AFTER `availability1`; ALTER TABLE `category_copy_qwertyuiop` ADD `availability3` INT NOT NULL DEFAULT '0' AFTER `availability2`; ALTER TABLE `category_copy_qwertyuiop` ADD `availability4` INT NOT NULL DEFAULT '0' AFTER `availability3`; ALTER TABLE `category_copy_qwertyuiop` ADD `availability5` INT NOT NULL DEFAULT '0' AFTER `availability4`; UPDATE `category_copy_qwertyuiop` SET `id_shop` = 1; INSERT IGNORE INTO `ps_category_shop` SELECT * FROM `category_copy_qwertyuiop`; DROP TEMPORARY TABLE IF EXISTS `category_copy_qwertyuiop`; |