【发布时间】:2012-11-13 16:20:16
【问题描述】:
我一直在专用服务器上使用这个 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 权限,这是触发器所必需的。我不明白这一点。我认为每个人都应该能够使用触发器。
我对存储过程不太了解,事实上我没用,但我想知道这个查询是否可以使用一个来执行,如果可以,任何人都可以给我任何指示吗?
【问题讨论】:
-
抱歉,您将无法使用您的代码。 TRIGGER、STORED PROCEDURE 和 FUNCTION 需要创建和执行超级用户帐户。
-
@sdespont:根据我的托管支持:“允许确定性存储过程/例程。不允许存储函数和触发器”。
标签: mysql