MySQL事件的正确运行方案介绍

 2022-10-27    376  

你是否对获得一个MySQL事件的实际操作感到十分头疼?如果是这样子的话,以下的文章将会给你相应的解决方案,以下的文章主要是介绍获得一个MySQL事件的方案,以下就是相关内容的具体描述。

操作系统中的计划任务(WINDOWS)或CRONTABL(LINUX/UNIX)

MySQL事件的正确运行方案介绍

MySQL版本5.1以上,create event

CREATE 
[DEFINER={user|CURRENT_USER}] 
EVENT 
[IFNOTEXISTS] 
event_name 
ONSCHEDULEschedule 
[ONCOMPLETION[NOT]PRESERVE] 
[ENABLE|DISABLE|DISABLEONSLAVE] 
[COMMENT'comment'] 
DOsql_statement; 
schedule: 
ATtimestamp[+INTERVALinterval]... 
|EVERYinterval 
[STARTStimestamp[+INTERVALinterval]...] 
[ENDStimestamp[+INTERVALinterval]...] 
interval: 
quantity{YEAR|QUARTER|MONTH|DAY|HOUR|MINUTE| 
WEEK|SECOND|YEAR_MONTH|DAY_HOUR|DAY_MINUTE| 
DAY_SECOND|HOUR_MINUTE|HOUR_SECOND|MINUTE_SECOND} 
MySQL>SELECTNOW(); 
+---------------------+ 
|NOW()| 
+---------------------+ 
|2006-02-1023:59:01| 
+---------------------+ 
1rowinset(0.04sec) 

MySQL>CREATEEVENTe_totals 
->ONSCHEDULEAT'2006-02-1023:59:00' 
->DOINSERTINTOtest.totalsVALUES(NOW()); 
QueryOK,0rowsaffected,1warning(0.00sec) 
MySQL>SHOWWARNINGS\G 
***************************1.row*************************** 
Level:Note 
Code:1588 
Message:EventexecutiontimeisinthepastandONCOMPLETIONNOT 
PRESERVEisset.Theeventwasdroppedimmediatelyafter 
creation. 
createevent 

MySQL事件中定时delete

MySQL>CREATEEVENTe_totals 
->ONSCHEDULEAT'2006-02-1023:59:00' 
->DOINSERTINTOtest.totalsVALUES(NOW());QueryOK,0rowsaffected,1warning(0.00sec) 
MySQL>CREATEEVENT 
->event_name 
->ONSCHEDULEEVERY1DAYSTARTS'2009-09-2023:40:00' 
->DOdeletefromt2; 
QueryOK,0rowsaffected(0.14sec) 

这个建议用MySQL本上的event来实现; 也可以用操作系统的计划任务来处理; 或自己写个程序用定时器来触发。

  •  标签:  
  • MySQL
  •  

原文链接:https://77isp.com/post/9999.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。