Как разом очистить конкретную (из многих) характеристик в базе?

  • Автор темы Автор темы lightman5
  • Дата начала Дата начала

lightman5

Продвинутый (IV)
Сообщения
290
Реакции
19
Баллы
1 328
Доброго времени суток всем!
Периодически возникает задача очистить все значения у конкретной характеристики по всем товаром - как это можно сделать?
Например есть характеристика: Цвет арматуры и в ней подразделения: Золото, Никель, Бронза и т д.
Так вот как очистить значения у всех товаров или группы товаров (по производителю например) нге стирая при этом ни название характеристики в базе ни ее значения?
То есть - в Базе останется такая характеристики с названием Цвет арматуры и в ней подразделения: Золото, Никель, Бронза - но при этом у товаров не будет ассоциаций с ней?

Для чего это нужно: в процессе работы - допускаются ошибки и например стоит у товара конкретного значение этой характеристики - Золото, а сейчас я решил вообще убрать у него эту характеристику заменив на другую - Цвет плафона (без арматуры) - то убрать ее не могу - могу только заменить на другое название - на другой цвет - Никель (например).
И преста менеджер тут не помощник - если в графе поставить пустое значение - то при заливке он оставит старое, а заменять на 0 разумеется не корректно или пробел - зачем лишнее плодить?

Возможно, если нет простых вариантов то через запрос к базе данных SQL можно это сделать?

вот например:
Удаление скидок по запросу в базе по конкретному производителю (я не знаю честно как эти скидки удалить как то по другому):
delete from ps_specific_price where id_product in (select distinct id_product from ps_product_lang where name like'%Производитель%')

Кто опытный подскажет?
 
Вот пример. Хрустальная люстра без плафонов (но есть и с плафонами).
Но в карточке товара выглядит вот так:

По сути речь идет об одном и том же - хрустальные прозрачные подвески у люстры, но плафонов то у нее нет и это вводит в заблуждение!
А если удалить глобально ВООБЩЕ всю характеристику по цвету плафонов то удалится и у тех товаров, где плафоны реально есть
 
Таблица feature_product. Через phpmayadmin
ищите в ней ид товара , ид свойства ид значения. И если попадает под нужные Вам условия - удаляете запись.
 
SQL:
DELETE FROM `ps_feature_product` WHERE `id_product` = 17 AND `id_feature`= 32

Благодарю за подсказку - после того как поэкспериментировал, то пришел оптыным путём, что моя задача решается вот таким запросом:
DELETE FROM `ps_feature_product` WHERE `id_product` AND `id_feature`= 32

это ко всем товарам в базе - удалить конкретную характеристику у товаров
кстати это можно делать (запрос) и из сторе менеджера вот здесь:
 
если че, `id_feature`= 32 я от балды написал :) вместо 32 нужно подставить нужное вам ид свойства.
 
если че, `id_feature`= 32 я от балды написал :) вместо 32 нужно подставить нужное вам ид свойства.

Тут как раз Ваше "от балды" полностью совпало с нужным мне номером характеристики :)))))))
Так что хорошей Вам пятницы и вечера.
Наконец то добрался до того момента чтобы почистить от мусора ряд характеристик и Ваша подсказка как нельзя лучше подходит под решение данный задачи :yahoo::yes3:
 
Фильтруем список наших товаров, выделяем все и в контекстном меню выбираем Массовый модификатор - модификатор свойств
 
Фильтруем список наших товаров, выделяем все и в контекстном меню выбираем Массовый модификатор - модификатор свойств
но там же нет такой возможности - просто очистить у всех товаров определенную характеристику?
 
Я бы создал временное значение свойства, назначил нужным товаром это свойство, а потом бы это значение удалил из свойств, что должно повлечь за собой удаление их из товаров. Проверьте
 
Я бы создал временное значение свойства, назначил нужным товаром это свойство, а потом бы это значение удалил из свойств, что должно повлечь за собой удаление их из товаров. Проверьте
это понятно как раз - но не хотелось так делать
по этому искал иное решение
 
Назад
Верх