[mysql] Последовательное изменение значения поля (Int)

dimidrol
На сайте с 29.09.2005
Offline
191
614

Задача следующая. Есть запись в БД, одно из полей которого принимает значение [0,1,2,3,4]. Каким образом сделать update в один запрос чтобы значения изменялись следующим образом 0->1->2->3->4->0->1....

Спасибо.

Иногда полезно проигрывать - это держит тебя в тонусе... Мне так рассказывали (с) Shark Покупаю сайты (стройка/отделка/стройматериалы) по адекватной цене. Предложения в личку. Траф - обязателен
LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#1

Не надо БД напрягать своими приколами. Считайте данные быстро и легко и проверьте их, а потом уже вносите нужное изменение.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
C
На сайте с 04.02.2005
Offline
291
#2

По сути...

Нет сути, т.е. смысла нет.

Данные в базе лежат как угодно, а именно - они распределены в табличном пространстве случайным образом.

т.е. должен существовать еще некий идентификатор, который будет отслеживать порядок этих полей

Итак.. создаем таблицу, в которой храним последний номер

Из нее его выбираем

А потом его вставляем и апдейтим таблицу исходя из условий интервала.

Т.е. одним запросом - никак.

Смысл?

edogs software
На сайте с 15.12.2005
Offline
775
#3
dimidrol:
Задача следующая. Есть запись в БД, одно из полей которого принимает значение [0,1,2,3,4]. Каким образом сделать update в один запрос чтобы значения изменялись следующим образом 0->1->2->3->4->0->1....
Спасибо.

Не очень поняли зачем это, но


update a_content set lang=(lang+1)%5

именно поставленную Вами задачу выполнит.

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
dimidrol
На сайте с 29.09.2005
Offline
191
#4
edogs:
Не очень поняли зачем это, но

update a_content set lang=(lang+1)%5

именно поставленную Вами задачу выполнит.

Аплодирую стоя!!!!! 🤣🤣🤣🤣

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий