Как и ниже
UPDATE tableA
SET hit_count = hit_count + (SELECT FLOOR(5 + (RAND() * 6))) AS randVAlue, total_hit_count = total_hit_count + randVAlue
WHERE 1
Я хотел бы добавить значение rand, но он должен применяться сразу к двум различным столбцам. Если я использую две функции rand(), она применяет другое значение результата rand.
Вышеприведенная инструкция выводит синтаксическую ошибку. Пожалуйста, дайте мне знать, что является правильным.
Одно и то же случайное значение для строки ALL
SET @varRan=FLOOR(5 + (RAND() * 6));
UPDATE tableA
SET hit_count = hit_count + @varRan,
total_hit_count = total_hit_count + @varRan
WHERE 1;
Различное случайное значение для каждой строки
UPDATE Table1
SET val1 = IFNULL(val1,0) + @varRan:= FLOOR(5 + (RAND() * 6)),
val2 = IFNULL(val2,0) + @varRan;
Вы можете определить переменную mysql и присвоить ей случайное значение. Затем вы можете использовать его так, как можете в своей логике.
SET @randomNumber = RAND();
UPDATE table SET field1 = @randomNumber, field2 = @randomNumber;