2010-11-18 2 views
7

Я просмотрел сеть так же, как и здесь, но не могу найти ответ на следующий вопрос MySQL. Я хочу заменить значение существующего поля запросом с случайным числом от 30 до 300. Причина была в том, что я переместил галереи и имел 250 000 000 просмотров на мои изображения, и были потеряны с миграцией и многие из моих членов расстроены, что они потеряли взгляды ....Добавить случайное число от 30 до 300 в существующее поле

ответ

7
UPDATE the_table SET the_field = the_field + FLOOR(RAND() * (270 + 1)) + 30 
+0

Вам нужен 'floor()' или вы получите плавающий объект. –

+0

Не поплавок литой в int при вставке в колонку INTEGER? – AndreKR

+0

Но была и другая проблема в обоих наших решениях: половина вероятности для 30 и 270, чем для других чисел. Я исправил это. – AndreKR

4

использование RAND()

UPDATE table 

SET field = FLOOR(30 + (RAND() * 270)); 

WHERE foo = 'bar' 
4

Я думаю, что это будет делать трюк:

UPDATE table SET field = ROUND(30 + (RAND() * 270)) WHERE id =1; 
Смежные вопросы