[英]MYSQL EVENT or Something else ? trying to track “clicks for links”
我到過這個網站和Google,一直在想辦法解決問題。
我創建了一個腳本來跟蹤我們出售給會員的網站流量,一切運行良好,並顯示我們想要的所有數據。 它甚至可以正確跟蹤轉換。
我當前的問題是-關閉流量已全部交付的記錄(成員)的流量。
閱讀一些文章后,運行事件似乎很完美,但是我似乎無法弄清楚這部分。
它還需要運行多次...
基本上,我不熟悉事件/觸發器,也不知道該在這里做什么
例; 會員購買了1000次點擊-全部已交付,但未更改狀態為完成。
CREATE EVENT newEvent ON SCHEDULE EVERY 1 Minute DO UPDATE links SET status = 'completed' WHERE bought = '0';
數據庫結構:
ID-增量
userid-成員userid
購買-顯示剩余的點擊次數
計數-顯示獲得的點擊
pkgamount-存儲購買的點擊次數
謝謝。
不要使用事件調度程序,請使用在更新links
表時運行的觸發器:
DELIMITER $$
CREATE TRIGGER link_completed
BEFORE UPDATE ON links
FOR EACH ROW
BEGIN
IF NEW.bought = 0
THEN SET NEW.status = 'completed';
END IF;
END; $$
DELIMITER ;
這是創建和運行事件所需的操作。 有一些非直覺的猴子業務,帶有定界符和打開事件調度程序。
DELIMITER $$
SET GLOBAL event_scheduler = ON$$ -- required for event to execute but not create
CREATE EVENT `Event1`
ON SCHEDULE EVERY 5 MINUTE
ON COMPLETION PRESERVE
COMMENT 'disable delivery when quota used up'
DO
BEGIN
UPDATE links SET status = 'completed' WHERE bought = '0';
END
$$
DELIMITER ;
請注意! 您可能想說WHERE bought <= 0
以便可以在bought
列上正確使用索引,因此如果特定記錄低於零,則可以正確設置狀態。
如果我是你,我會用這句話。
UPDATE links SET status = 'completed', bought = 0 WHERE bought <= 0;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.