Перейти к содержанию
Форум поддержки пользователей VamShop

как одним mysql запросом поставить количество в наличии всем товарам в ноль?


Рекомендуемые сообщения

как одним mysql запросом поставить количество в наличии всем товарам в ноль?

нужно для актуализации того- что из ассортимента ушло, так как остатки обновляются онлайн..

соответственно товары которых нет- просто не обновятся в дальнейшем по крону.

Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, geval сказал:

как одним mysql запросом поставить количество в наличии всем товарам в ноль?

нужно для актуализации того- что из ассортимента ушло, так как остатки обновляются онлайн..

соответственно товары которых нет- просто не обновятся в дальнейшем по крону.

update products set products_quantity = 0 where produsts_status = 1;

Примерно так

Ссылка на сообщение
Поделиться на другие сайты

а можно ли сконструировать такой запрос, чтобы заданным товарам ( по артикулу) задать нулевые остатки..?

скажем артикулы 101, 102, 103 через запятую и т.д.

именно артикулы ( которые указываются на карточке товара), потому что есть еще какой-то внутренний номер товара, это не про это..

Ссылка на сообщение
Поделиться на другие сайты
1 час назад, geval сказал:

а можно ли сконструировать такой запрос, чтобы заданным товарам ( по артикулу) задать нулевые остатки..?

скажем артикулы 101, 102, 103 через запятую и т.д.

именно артикулы ( которые указываются на карточке товара), потому что есть еще какой-то внутренний номер товара, это не про это..

Да.

update products set products_quantity = 0 where produsts_model in (kod1,kod2,kod3);

kod1

kod2

kod3

Это перечисление артикулов товара через запятую.

Ссылка на сообщение
Поделиться на другие сайты

спасибо, весьма ценная инфа.

 

тогда еще такой вопрос, есть артикулы вида 0112, 0535, 0455 и т.д, то есть 0 в начале, а часть артикулов нормальные то есть 110 120 и т.д, можно ли как-то одним запросом убрать нули из артикулов в базе магазина?

то есть в

 produsts_model 
Ссылка на сообщение
Поделиться на другие сайты
1 час назад, geval сказал:

спасибо, весьма ценная инфа.

 

тогда еще такой вопрос, есть артикулы вида 0112, 0535, 0455 и т.д, то есть 0 в начале, а часть артикулов нормальные то есть 110 120 и т.д, можно ли как-то одним запросом убрать нули из артикулов в базе магазина?

то есть в


 produsts_model 

Примерно так:

update products set products_model=SUBSTRING(products_model,REGEXP_INSTR(products_model,'[1-9]')) 

Ищите в гугле примеры.

Ну и REGEXP_INSTR вроде как работает начиная с mySQL 8

Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, support сказал:

Примерно так:


update products set products_model=SUBSTRING(products_model,REGEXP_INSTR(products_model,'[1-9]')) 

Ищите в гугле примеры.

Ну и REGEXP_INSTR вроде как работает начиная с mySQL 8

Спасибо!

Ссылка на сообщение
Поделиться на другие сайты

проверил, на 8й версии сработало ( на хостингах она редко бывает), так что кому актуально- берет таблицу products пихаем в openserver последней версии, там mysql 8 есть, и вуаля.. потом обратный процесс.
на реальном магазине сработало, убрало нули в начале артикула

Ссылка на сообщение
Поделиться на другие сайты
  • 2 weeks later...

UPDATE products SET products_model=TRIM(LEADING '0' FROM products_model) WHERE products_model LIKE'0%';

срабатывает на любой версии mysql для удаление нулей  в начале артикула

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...