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 に答える