2013-11-29 3 views
2

У меня есть таблица mysql в 200 тыс. Строк и столбец с пустым значением, и мне нравится заполнять этот столбец случайными числами от 1 до 10000.Обновить записи со случайным числом

Я не знаю, если его можно иметь что-то вроде этого запроса:

UPDATE 'videos' 
SET 'views' = rand(1,10000) 

ответ

8

RAND() производит значения случайного поплавка от 0 до 1. Не могли бы вы попробовать это?

Update videos set views = CAST(RAND() * 10000 AS UNSIGNED) 
+0

хорошее, спасибо, оно сработало отлично – user3047473

0

Или это:

UPDATE videos SET views = FLOOR(1 + rand() * 10000); 
0

обновления записи таблицы со случайными номерами телефонов

DECLARE @OrderDetailID INT 
DECLARE @Phone VARCHAR(100) 
DECLARE MY_CURSOR CURSOR LOCAL STATIC READ_ONLY FORWARD_ONLY 
FOR 
    SELECT DISTINCT 
      OrderDetailID 
    FROM dbo.OrderDetailTBL 

OPEN MY_CURSOR 
FETCH NEXT FROM MY_CURSOR INTO @OrderDetailID 
WHILE @@FETCH_STATUS = 0 
    BEGIN 
    --Do something with Id here 
     SET @Phone = '(' + CONVERT(VARCHAR(3), CONVERT(NUMERIC(3, 0), RAND() 
      * 899)) + ') ' + CONVERT(VARCHAR(3), CONVERT(NUMERIC(3, 0), RAND() 
      * 899)) + '-' + CONVERT(VARCHAR(4), CONVERT(NUMERIC(4, 0), RAND() 
      * 8999)) 


     UPDATE dbo.OrderDetailTBL 
     SET  ShippingPhone = @Phone 
     WHERE OrderDetailID = @OrderDetailID 
     FETCH NEXT FROM MY_CURSOR INTO @OrderDetailID 
    END 
CLOSE MY_CURSOR 
DEALLOCATE MY_CURSOR 
0

Если хочет обновить один столбец с случайным числом между некоторым диапазоном и имеющей отрицательный типом, то вы можете использовать нижеследующий код:

UPDATE DataBase.TableName 
SET Column = ((4 * RAND()) - (4 * RAND())) 
WHERE IndexColumn > 0; -- here I have taken range between 4 to -4 
3

Попробуйте этот. Он может генерировать случайное число от 1 до 10000.

UPDATE videos 
SET views = FLOOR(rand() * 10000) + 1; 
Смежные вопросы