#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() на гигантских таблицах, так как это полный скан таблицы. Если есть возможность вычислить случайный идентификатор другим способом - хорошо бы им воспользоваться (однако, для этого нужно больше информации о проекте).
Комментариев нет:
Отправить комментарий