У меня есть база данных eshop, и я продублировал некоторые продукты, чтобы переместить их в другую категорию (wholesale/retail
). Мне нужно обновить category_id
для каждого продукта с '[CLONE]'
в названии, вот что я делаю:
Сначала я проверяю, сколько продуктов нужно переместить:
select p.product_id, pd.product, pc.category_id
from cscart_products p
join `cscart_product_descriptions` pd on p.product_id = pd.product_id
join `cscart_products_categories` pc on p.product_id = pc.product_id
where pd.product like '%CLONE%'
and pc.category_id = '17'; -- 17 is the current category_id
16 выбранных строк;
Затем я выполняю обновление:
UPDATE cscart_products_categories pc
join `cscart_product_descriptions` pd on pc.product_id = pd.product_id
join `cscart_products` p on pc.product_id = p.product_id
SET pc.category_id = '30' -- the category to be moved to
WHERE pc.category_id = '17'
AND pd.product like '%[CLONE]%';
9 строк затронуты;
Как видите, только 9 из 16 обновляются, очевидно, что-то не так в моем обновлении, но что?