#mysql
#mysql
Вопрос:
Я пытаюсь обновить столбец ratingValue в MySQL со случайным числом от 3.8 до 5.0.
Тип столбца в Mysql задается как десятичный (2,1), и код, который я пробовал (со многими изменениями, но безуспешно), является:
$min = 3.8;
$max = 5.0;
$query = "UPDATE users SET ratingValue=FLOOR($min (RAND()*($max-$min 0.1)));";
$result = $baza->query($query);
Но он никогда не обновляет какое-либо значение после десятичной дроби, просто округляет до полного значения (т.Е. 4.0 или 5.0).
Я был бы признателен за любую помощь.
Комментарии:
1. Если вам нужны числа с плавающей запятой, зачем вы
FLOOR
тогда используете?
Ответ №1:
Это должно дать вам случайное число от 3,8 до 5,0 на одну позицию.
ROUND (FLOOR (13 * RAND()) / 10, 1) 3.8
Сначала он получает случайное число от 0 до 12, затем делит на 10, а затем добавляет его к 3.8.
Ответ №2:
Функция RAND в MySQL создаст желаемое значение:
http://dev.mysql.com/doc/refman/5.0/en/mathematical-functions.html#function_rand