Random Update Filed - MySQL

Узнай цену своей работы

Формулировка задачи:

В общем то вот
UPDATE people SET online = '1' ORDER BY rand() LIMIT 2;
В общем то обновляет 2 строки рандомно. Мне нужно что бы обновляло 2 строки рандомно где в online равен 0. Сейчас обновляет даже те ячейки, где есть единица. То есть вписывает 1 туда где уже есть 1. Нужно сделать что бы вписывало рандомно только там где 0

Решение задачи: «Random Update Filed»

textual
Листинг программы
UPDATE people SET online = '1' where online=0 ORDER BY rand() LIMIT 2;

Объяснение кода листинга программы

В данном коде происходит обновление записи в таблице people.

  1. UPDATE people - команда обновления записей в таблице people.
  2. SET online = '1' - указание, какую именно запись нужно обновить, в данном случае - поле online установить в значение '1'.
  3. where online=0 - условие, которое определяет, какие именно записи нужно обновить, в данном случае - только те, у которых значение поля online равно 0.
  4. ORDER BY rand() - сортировка записей в случайном порядке перед выполнением обновления.
  5. LIMIT 2 - ограничение на количество записей, которые будут обновлены, в данном случае - не более 2 записей.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы