Ответ 1
SET @r := 0;
UPDATE items2
SET author_id = (@r := @r + 1)
ORDER BY
RAND()
Я хочу привязать столбец к моей таблице, который будет случайным числом из последовательного списка = в число строк.
Итак, если моя таблица имела 999 строк, тогда числа от 1 до 999 будут назначаться случайным образом и уникально.
Теперь я решил, что могу добавить фиктивный TempRandomColumn = Rand(), сортировать по нему и последовательно добавлять числа с помощью PHP. Но это означает 999 операторов MySQL.
Есть ли способ сделать это, используя один оператор MySQL?
Спасибо за любые указатели.
SET @r := 0;
UPDATE items2
SET author_id = (@r := @r + 1)
ORDER BY
RAND()
SET @i=1;
SELECT t.*, @i:[email protected]+1 as RAND_NUM FROM your_table t ORDER BY RAND();