Heim > Datenbank > MySQL-Tutorial > MySQL事件的正确运行方案介绍

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

WBOY
Freigeben: 2016-06-07 16:09:41
Original
1028 Leute haben es durchsucht

你是否对获得一个MySQL事件的实际操作感到十分头疼?如果是这样子的话,以下的文章将会给你相应的解决方案,以下的文章主要是介绍获得一个MySQL事件的方案,以下就是相关内容的具体描述。 操作系统中的计划任务(WINDOWS)或CRONTABL(LINUX/UNIX) MySQL版

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

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

MySQL版本5.1以上,create event

<ol class="dp-xml">
<li class="alt"><span><span>CREATE   </span></span></li>
<li>
<span>[</span><span class="attribute">DEFINER</span><span> = { user | CURRENT_USER }]   </span>
</li>
<li class="alt"><span>EVENT   </span></li>
<li><span>[IF NOT EXISTS]   </span></li>
<li class="alt"><span>event_name   </span></li>
<li><span>ON SCHEDULE schedule   </span></li>
<li class="alt"><span>[ON COMPLETION [NOT] PRESERVE]   </span></li>
<li><span>[ENABLE | DISABLE | DISABLE ON SLAVE]   </span></li>
<li class="alt"><span>[COMMENT 'comment']   </span></li>
<li><span>DO sql_statement;   </span></li>
<li class="alt"><span>schedule:   </span></li>
<li><span>AT timestamp [+ INTERVAL interval] ...   </span></li>
<li class="alt"><span>| EVERY interval   </span></li>
<li><span>[STARTS timestamp [+ INTERVAL interval] ...]   </span></li>
<li class="alt"><span>[ENDS timestamp [+ INTERVAL interval] ...]   </span></li>
<li><span>interval:   </span></li>
<li class="alt"><span>quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |   </span></li>
<li><span>WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |   </span></li>
<li class="alt"><span>DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}   </span></li>
<li>MySQL<span class="tag">></span><span> SELECT NOW();   </span>
</li>
<li class="alt"><span>+---------------------+   </span></li>
<li><span>| NOW() |   </span></li>
<li class="alt"><span>+---------------------+   </span></li>
<li><span>| 2006-02-10 23:59:01 |   </span></li>
<li class="alt"><span>+---------------------+   </span></li>
<li><span>1 row in set (0.04 sec)   </span></li>
<li class="alt"><span> </span></li>
<li>MySQL<span class="tag">></span><span> CREATE EVENT e_totals   </span>
</li>
<li class="alt">
<span>-</span><span class="tag">></span><span> ON SCHEDULE AT '2006-02-10 23:59:00'   </span>
</li>
<li>
<span>-</span><span class="tag">></span><span> DO INSERT INTO test.totals VALUES (NOW());   </span>
</li>
<li class="alt"><span>Query OK, 0 rows affected, 1 warning (0.00 sec)   </span></li>
<li>MySQL<span class="tag">></span><span> SHOW WARNINGS\G   </span>
</li>
<li class="alt"><span>*************************** 1. row ***************************   </span></li>
<li><span>Level: Note   </span></li>
<li class="alt"><span>Code: 1588   </span></li>
<li><span>Message: Event execution time is in the past and ON COMPLETION NOT   </span></li>
<li class="alt"><span>PRESERVE is set. The event was dropped immediately after   </span></li>
<li><span>creation.  </span></li>
<li class="alt"><span>create event   </span></li>
</ol>
Nach dem Login kopieren

MySQL事件中定时delete

<ol class="dp-xml">
<li class="alt">MySQL<span><span class="tag">></span><span> CREATE EVENT e_totals   </span></span>
</li>
<li>
<span>-</span><span class="tag">></span><span> ON SCHEDULE AT '2006-02-10 23:59:00'   </span>
</li>
<li class="alt">
<span>-</span><span class="tag">></span><span> DO INSERT INTO test.totals VALUES (NOW()); Query OK, 0 rows affected, 1 warning (0.00 sec)  </span>
</li>
<li>MySQL<span class="tag">></span><span> CREATE EVENT  </span>
</li>
<li class="alt">
<span>-</span><span class="tag">></span><span> event_name  </span>
</li>
<li>
<span>-</span><span class="tag">></span><span> ON SCHEDULE EVERY 1 DAY STARTS '2009-09-20 23:40:00'  </span>
</li>
<li class="alt">
<span>-</span><span class="tag">></span><span> DO delete from t2;  </span>
</li>
<li><span>Query OK, 0 rows affected (0.14 sec)  </span></li>
<li class="alt"><span> </span></li>
</ol>
Nach dem Login kopieren

这个建议用MySQL本上的event来实现; 也可以用操作系统的计划任务来处理; 或自己写个程序用定时器来触发。以上的相关内容就是对一个MySQL事件的介绍,望你能有所收获。


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage