如何使用Mysql rand()结果两次?

时间:2018-03-30 10:39:21

标签: mysql sql syntax

就像下面的

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结果值。

以上语句导致语法错误。 请让我知道什么是正确的。

2 个答案:

答案 0 :(得分:2)

您可以定义一个mysql变量并为其分配随机值。然后,您可以根据需要在逻辑中使用它。

SET @randomNumber = RAND();
UPDATE table SET field1 = @randomNumber, field2 = @randomNumber;

答案 1 :(得分:2)

所有行的相同随机值

"debugOptions": [
    "RedirectOutput"
]

每行不同的随机值

SET @varRan=FLOOR(5 + (RAND() * 6));
UPDATE tableA
SET hit_count = hit_count + @varRan, 
    total_hit_count = total_hit_count + @varRan
WHERE 1;