我一直在专用服务器上使用这个 MySQL 触发器,所以每次更新表时,它都会计算一个新的总和并更新另一个表:
delimiter |
CREATE TRIGGER after_insert_rep_points AFTER INSERT ON users_reputation
FOR EACH ROW
BEGIN
DECLARE new_total INT(10);
SELECT SUM(rep_points) INTO new_total FROM users_reputation
WHERE user_id = NEW.user_id;
UPDATE users SET rep_total = new_total WHERE user_id = NEW.user_id;
END
|
delimiter ;
我现在需要在共享主机环境中使用它,但不幸的是,由于安全预防措施,我不能在共享环境中拥有 SUPER USER 权限,这是触发器所必需的。我不明白这一点。我认为每个人都应该能够使用触发器。
我对存储过程并不了解,事实上我没用,但我想知道这个查询是否可以使用一个来执行,如果可以,任何人都可以给我任何指示吗?