我一直在使用一個專用的服務器上這個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需要創建並執行SUPER USER帳戶。 – sdespont
@sdespont:根據我的託管支持:「允許存在確定性存儲過程/例程,不允許存儲函數和觸發器」。 – ShadowStorm