亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Mysql編寫定時任務事件

系統 2206 0
原文: Mysql編寫定時任務事件

場景:

  例如:某系統,用戶每天只能擁有一次的抽獎機會,抽過后當天就不可再抽,但是過了24:00點后用戶就重新擁有一次抽獎機會。像這種 需要數據庫定時對某個字段進行更新操作的任務,完全可以通過數據庫本身的事件機制進行操作,而服務器端也不需要用額外的代碼進行這種監控定時的操作。

Mysql:

  本文討論的是Mysql數據庫,Event Scheduler事件調度器應該是在Mysql5.1引入的,所以使用定時任務調度時,請注意查看你的Mysql版本。

創建事件調度的語法:

      
        
          /*
        
        
          創建事件event_name
        
        
          */
        
        
           DELIMITER $$ 
        
        
          CREATE
        
         event 
        
          IF
        
        
          NOT
        
        
          EXISTS
        
        
           event_name 
        
        
          ON
        
         SCHEDULE 任務條件 




        
          ON
        
        
           COMPLETION PRESERVE DO SQL操作 DELIMITER ;
        
      
    

實例情景 :每半個小時更新統計字段count為0,

      
        
          /*
        
        
          創建定時定時更新count字段事件
        
        
          */
        
        
           DELIMITER $$ 
        
        
          CREATE
        
         event 
        
          IF
        
        
          NOT
        
        
          EXISTS
        
        
           update_count 
        
        
          ON
        
         SCHEDULE EVERY 30 MINUTE 
      
      

/*MYSQL注意時區設置,默認非中國時區*/
STARTS TIMESTAMP '2009-12-18 02:58:00' ON COMPLETION PRESERVE DO update tb_count set count=0 $$ DELIMITER ;

如上,創建了一個名叫update_count的事件,執行條件則為每30分鐘執行一次,(EVERY 30 MINUTE),執行Sql為(update tb_count set count=0), 當然你可能會按天執行, 所以你也可以寫(EVERY 1 DAY),

如果執行的任務Sql復雜,我們可以寫觸發器,直接看示例代碼:

      
        
          DELIMITER $$ 
        
        
          DROP
        
        
          PROCEDURE
        
        
          IF
        
        
          EXISTS
        
        
           update_count$$ 
        
        
          CREATE
        
        
          PROCEDURE
        
        
           update_count() 
        
        
          BEGIN
        
        
          UPDATE
        
         tb_count 
        
          SET
        
         count
        
          =
        
        
          0
        
        
          ; 
        
        
          END
        
        
          $$ DELIMITER ;
        
      
    

以上為創建一個存儲過程update_count,執行對tb_count中count字段的更新。任務中代碼中do字段后則改為 (call update_count() $$) 。當然你可能會更復雜的需求。

添加完event后,還需要查看event_scheduler是否開啟,否則添加的event不會執行,移步下面的代碼:

      
        
          /*
        
        
          查看event是否開啟
        
        
          */
        
        
           SHOW VARIABLES 
        
        
          LIKE
        
        
          '
        
        
          %sche%
        
        
          '
        
        
          ; 
        
        
          /*
        
        
          開啟event
        
        
          */
        
        
          SET
        
         GLOBAL event_scheduler
        
          =
        
        
          1
        
        ;
      
    

查看和關閉你所添加的event:

?

      
        
          /*
        
        
          關閉 event 
        
        
          */
        
        
          ALTER
        
         event update_count 
        
          ON
        
        
           COMPLETION PRESERVE DISABLE; 
        
        
          /*
        
        
          啟用 event 
        
        
          */
        
        
          ALTER
        
         event update_count 
        
          ON
        
         COMPLETION PRESERVE ENABLE;
      
    

?更多MySql語法可查看: http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html

Mysql編寫定時任務事件


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 九九国产精品九九 | 亚洲欧美日韩中文字幕在线一 | 国内自拍小视频 | 国产亚洲欧美一区二区三区 | 色在线综合 | 色偷偷91综合久久噜噜 | 亚洲国产精品成人综合色在线婷婷 | 成人午夜视频在线观看 | 一级片在线观看视频 | 久久精品欧美日韩精品 | 亚洲综合伊人色一区 | 亚洲国产一区二区三区四区 | 国产亚洲欧洲精品 | 一级高清毛片免费a级高清毛片 | 国产国语videosex另类 | 996热精品视频在线观看 | 精品免费久久 | 97国产视频 | 4虎影院午夜在线观看 | 日韩精品一区二区三区 在线观看 | 97精品久久久久中文字幕 | 欧美久久超级碰碰碰二区三区 | 亚洲国产欧美在线观看 | 久久精品视频观看 | 免费在线黄色网址 | 日韩精品视频一区二区三区 | 国自产拍在线视频天天更新 | 欧美国产精品亚洲精品第一区 | 国产麻豆永久视频 | 老司机深夜福利网站 | 亚洲欧美一区二区三区 | 亚洲精品九色在线网站 | 4huh34四虎最新888 | 你懂得国产 | 久久国产精品最新一区 | 国产成人精品午夜免费 | 亚洲免费中文字幕 | 亚洲国产精品成人午夜在线观看 | 91亚洲精品一区二区福利 | 请看一下欧美一级毛片 | 婷婷久久精品 |