У меня есть следующий триггер ЗАЯВЛЕНИЕтриггер перед отборным
DELIMITER //
CREATE TRIGGER rating
BEFORE SELECT
ON `clinic`
FOR EACH ROW
BEGIN
SET NEW.OLD.`rate` = (SELECT AVG(`rate`) FROM `Review` WHERE `Clinic_id` = NEW.OLD.`id`);
END//
Я пытался следовать инструкциям, приведенным здесь http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html но получаю ошибку синтаксиса. Что я делаю не так?
NB Я запустил инструкцию SELECT
на столе Review
, и это дает результат без проблем.
Отредактировано: Я понял, что у меня не может быть триггера до SELECT
и поэтому решил обработать его на прикладном уровне. См. Это: http://forums.mysql.com/read.php?99,277396,277692#msg-277692
Вы не можете установить триггер на SELECT. http://stackoverflow.com/questions/6137935/can-i-launch-a-trigger-on-select-statement-in-mysql – AmazingDreams
ха-ха, ничего себе! Я прочитал почти все в этой ссылке и не заметил, что SELECT не был ** trigger_event **! Итак, что вы предлагаете мне сделать? – mavili
Я не знаю, чего вы пытаетесь достичь. Проверьте, сколько клиник «видно» в среднем? – AmazingDreams