nr 1 backup

Przykładowy skrypt testowy. Jeśli w zapytaniu nie pominiemy START TRANSACTION i ROLLBACK; będziemy mogli zobaczyć co zrobi nasze zapytanie a wszystkie zmiany zostaną przywrócone do stanu z przed zapytania. Zanim dokonasz zmiany w bazie upewnij się, że zapytanie zrobiło dokładnie to czego chciałeś.

SELECT * FROM `ps_product`

Jakie tabele nas interesują? Tabela ps_product

SELECT c.id_category, cl.name
FROM `ps_category` c
LEFT JOIN `ps_category_lang` cl
ON c.id_category = cl.id_category WHERE cl.id_lang = 1;

START TRANSACTION;
UPDATE `ps_product` SET `id_category_default` = '6' ; #zmienia kategorię wszystkich produktów
UPDATE `ps_product` SET `id_category_default` = '6' WHERE `ps_product`.`id_category_default` = 2; #zmienia kategorię produktów o danej kategorii.
UPDATE `ps_product` SET `id_category_default` = '6' WHERE `ps_product`.`id_product` = 1858; #zmienia kategorię konkretnego produktu

SELECT * FROM ps_product;
ROLLBACK;

Jeśli interesuje cię bardziej zaawansowane zapytania, które są uodpornione na obecność jednego produktu w wielu kategoriach przy i ch przenoszeniu oraz usuwanie produktu z przenoszonej kategorii gdy już istnieje w bazie można znaleźć na tej stronie:
https://devwl.pl/prestashop-how-to-reassign-products-from-one-category-to-another/