MySQL- Запуск обновления рейтинга

#mysql #triggers #ranking

#mysql #триггеры #Рейтинг

Вопрос:

Я создаю базу данных с таблицей «Team» для некоторых команд NFL, и я присвоил им всем рейтинг (стоящий в NFL), атрибут называется «Ranking».

Я хочу создать триггер таким образом, чтобы при обновлении рейтинга все остальные обновлялись соответствующим образом.

Однако я не могу найти способ перебирать таблицу. Например, предположим, что команда с 5-м рангом переходит на 3-й ранг, как мне сделать так, чтобы 3-й ранг стал 4-м, а затем 4 стал 5-м?

Если вам нужна дополнительная информация, не стесняйтесь спрашивать, я предоставлю ее как можно скорее.

Ответ №1:

Если вы знаете идентификатор команды для обновления (назовем его 42) и старый и новый ранг (старый: 5, новый: 3), то это не так уж сложно:

 UPDATE Team SET rank=rank 1 WHERE rank BETWEEN 3 AND 5;
UPDATE Team SET rank=3 WHERE id=42;
  

Комментарии:

1. Да, я буду знать идентификатор, который необходимо обновить. Я думаю, это сработает, позвольте мне проверить, и я свяжусь с вами. Спасибо.

2. Это сработало! Большое вам спасибо, в моем учебнике никогда не упоминалась команда BETWEEN, поэтому я не знал, что делать, или даже искать онлайн.

3. Вы можете заменить BETWEEN ... AND ... на rank >= 3 AND rank <= 5