Страницы

Поиск по вопросам

суббота, 4 апреля 2020 г.

Выбор случайного значения в базе данных

#php #mysql #sql

                    
В общем есть база вида id | group | user

Надо выбрать 1 случайную строку из 100 которая содержит group = "vip" , а user =
"". И записать в user этой строки например 'что-то'. Как это сделать?

UPD: Запрос в ответе не работает, выдает ошибку 1064, вот таблица, может что-то там
поправить (ошибка у key).



    


Ответы

Ответ 1



Самый простой вариант, это извлечь случайный идентификатор из этих таблиц SELECT id FROM tbl WHERE group = "vip" AND user = "" ORDER BY RAND() LIMIT 1 Далее полученный таким образом идентификатор использовать для UPDATE-запроса UPDATE tbl SET user = 'что-то' WHERE id = 3432 Будьте осторожны с ORDER BY RAND() на гигантских таблицах, так как это полный скан таблицы. Если есть возможность вычислить случайный идентификатор другим способом - хорошо бы им воспользоваться (однако, для этого нужно больше информации о проекте).

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

Отправить комментарий