Зачем вам два столбца для хранения одного и того же случайного значения?Одного столбца должно быть достаточно!
Однако MySQL допускает следующее не-SQL-совместимое со стандартом поведение :
Если вы обращаетесь к столбцу изтаблица, которая будет обновлена в выражении, UPDATE использует текущее значение столбца.Например, следующий оператор устанавливает col1 на единицу больше, чем его текущее значение:
UPDATE t1 SET col1 = col1 + 1;
Второе назначение в следующем операторе устанавливает col2 текущее (обновленное) значение col1, а не исходное значение col1.В результате col1 и col2 имеют одинаковое значение.Это поведение отличается от стандартного SQL.
UPDATE t1 SET col1 = col1 + 1, col2 = col1;
Итак, вы можете попробовать следующее:
UPDATE post
SET random = FLOOR( 1 + RAND( ) *15 ),
value = random