0

我喜欢在触发器中使用随机数,但对于所有更新的行,它必须相同,而且我不确定将代码行放在哪里。

CREATE TRIGGER update_us_pli AFTER UPDATE ON us_pli
    // #1
FOR EACH ROW BEGIN
    // #2
    SET @usr=new.uid;
    UPDATE users SET my_random=@rand,us7=3 WHERE uid=@usr;
END;

(注意: //#1 和 //#2 仅用于我的问题)。

现在我必须在某个地方创建一个随机数

SET @rand=RAND();

问题是,如果我把它放在#1,触发器将不会触发,而在#2,我会为每一行得到一个不同的随机数。而且我希望它们对于所有行都相同。

任何帮助,将不胜感激。

4

1 回答 1

1

我想你可以在#2 做这样的事情:

 SET @rand = IF(@rand, @rand, RAND());
于 2013-09-14T14:54:13.167 回答