我有以下触发语句
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但出现语法错误。我做错了什么?
注意我已经在 Review
表上运行了 SELECT
语句,它给出的结果没有任何问题。
已编辑:我意识到我不能在 SELECT
之前触发,因此决定在应用层处理它。看到这个:http://forums.mysql.com/read.php?99,277396,277692#msg-277692
最佳答案
trigger_event 不能是一个选择 trigger_event = { INSERT |更新 |删除
CREATE
[DEFINER = { user | CURRENT_USER }]
TRIGGER trigger_name
trigger_time trigger_event
ON tbl_name FOR EACH ROW
trigger_body
触发时间:{之前 |之后
触发事件:{ 插入 |更新 |删除
关于mysql - 选择前触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15289156/