2013-09-14 2 views
0

Мне нравится использовать случайное число в триггере, но оно должно быть одинаковым для всех обновленных строк, и я не уверен, где поставить строку кода.Как использовать статическое случайное число в триггере

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

(примечание: // # 1 и // # 2 есть только для моего вопроса).

Сейчас где-то я должен создать случайное число

SET @rand=RAND(); 

Проблема, если я ставлю его на # 1 триггер не срабатывает, и на # 2 я получаю другое случайное число для каждого ряд. И я люблю, чтобы они были одинаковыми для всех строк.

Любая помощь будет оценена по достоинству.

+0

Mysql не спусковые заявление на уровне, так что # 1 это не вариант ... – a1ex07

ответ

1

Я думаю, вы могли бы сделать что-то подобное на # 2:

SET @rand = IF(@rand, @rand, RAND()); 
+0

Спасибо! Это сработало. – Michel

+0

Забавно, если я использую его так, первый ряд отличается от всего остального. 'SET @rand = IF (@rand! =" ", @rand, RAND());' выполняет работу – Michel

Смежные вопросы