Массовая смена цены в БД

Тема в разделе "Общие вопросы", создана пользователем Sanik, 7 мар 2024.

  1. Sanik

    Sanik Активный пользователь

    Сообщения:
    299
    Симпатии:
    3
    Каким запросом можно, и возможно ли сменить масово опционные цены в БД поле "price". Сейчас наценка опции, а нужно суму (осн. цена + наценка опции). Также массово в поле (price_prefix) сменить вместо "+" на "=".
     
  2. devimirochnik

    devimirochnik Продвинутый пользователь

    Сообщения:
    836
    Симпатии:
    108
    Запросы разные бывают. Зависит от деталей. Плюс даже модули где-то были для подобных корректировок
     
  3. Vlad

    Vlad Эксперт

    Сообщения:
    4.146
    Симпатии:
    1.003
    Код:
    UPDATE oc_product_option_value SET price = price + 100;
    
    Код:
    UPDATE oc_product_option_value SET price_prefix = '=' WHERE price_prefix = '+';
    
     
    Tesloz нравится это.
  4. Sanik

    Sanik Активный пользователь

    Сообщения:
    299
    Симпатии:
    3
    Проверил, оно работает, но цена почему-то на 100руб. больше повсюду получается, если без + 100 - то тогда цена меньше получается на минус основной.
     
  5. Vlad

    Vlad Эксперт

    Сообщения:
    4.146
    Симпатии:
    1.003
    Вы написали что нужна наценка, я показал пример наценки в 100р.
     
  6. Sanik

    Sanik Активный пользователь

    Сообщения:
    299
    Симпатии:
    3
    Это сейчас стоит наценка. Хотелось бы что бы в поле price вместо наценки отображалась сума основной цены + существующая наценка.
    Вот нашел решение
    Код:
    UPDATE oc_product_option_value pov
        INNER JOIN oc_product p ON p.product_id = pov.product_id
      SET pov.price = pov.price + p.price
     
    Последнее редактирование: 14 мар 2024
  7. Sanik

    Sanik Активный пользователь

    Сообщения:
    299
    Симпатии:
    3
    UPDATE oc_product_option_value pov
    INNER JOIN oc_product p ON p.product_id = pov.product_id
    SET pov.price = pov.price + p.price