mysql定時(shí)任務(wù)
10余年的甘肅網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整甘肅建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“甘肅網(wǎng)站設(shè)計(jì)”,“甘肅網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
自 MySQL5.1.6起,增加了一個(gè)非常有特色的功能–事件調(diào)度器(Event Scheduler),可以用做定時(shí)執(zhí)行某些特定任務(wù)(例如:刪除記錄、對(duì)數(shù)據(jù)進(jìn)行匯總等等),來(lái)取代原先只能由操作系統(tǒng)的計(jì)劃任務(wù)來(lái)執(zhí)行的工作。更值得 一提的是MySQL的事件調(diào)度器可以精確到每秒鐘執(zhí)行一個(gè)任務(wù),而操作系統(tǒng)的計(jì)劃任務(wù)(如:Linux下的CRON或Windows下的任務(wù)計(jì)劃)只能精 確到每分鐘執(zhí)行一次。對(duì)于一些對(duì)數(shù)據(jù)實(shí)時(shí)性要求比較高的應(yīng)用(例如:股票、賠率、比分等)就非常適合。
如:每隔30秒將執(zhí)行存儲(chǔ)過(guò)程test,將當(dāng)前時(shí)間更新到examinfo表中id=14的記錄的endtime字段中去.
CREATE PROCEDURE test ()
BEGIN
update examinfo SET endtime = now() WHERE id = 14;
END;
create event if not exists e_test
on schedule every 30 second
on completion preserve
do call test();
2. windows、linux 的定時(shí)任務(wù) 這個(gè)就不舉例了,通過(guò)腳本定時(shí)去調(diào)用mysql執(zhí)行
如果你準(zhǔn)備按天刪除數(shù)據(jù)的話,在保存數(shù)據(jù)的時(shí)候最好是增加一個(gè)日期字段addDate,而這個(gè)日期字段的默認(rèn)值就是CURRENT_DATE(mysql中,CURRENT_DATE獲得的是
20100728
這樣的日期值),如果這個(gè)字段沒(méi)用,大不了不用就行了。
那么在刪除的時(shí)候就好辦了,用
delete
from
tbName
where
CURRENT_DATE-addDate
=
3;
就可以了,我剛剛在mysql中測(cè)試通過(guò)。
刪除數(shù)據(jù)代碼呢?估計(jì)時(shí)間判斷不準(zhǔn)確,php安裝里的時(shí)區(qū)看看,是不是是北京時(shí)間的
在PHP.INI中設(shè)置時(shí)區(qū)
date.timezone = PRC
在代碼中設(shè)置時(shí)區(qū)
1 date_default_timezone_set('Asia/Shanghai');//'Asia/Shanghai' 亞洲/上海
2 date_default_timezone_set('Asia/Chongqing');//其中Asia/Chongqing'為“亞洲/重慶”
3 date_default_timezone_set('PRC');//其中PRC為“中華人民共和國(guó)”
4i ni_set('date.timezone','Etc/GMT-8');
5 ini_set('date.timezone','PRC');
6 ini_set('date.timezone','Asia/Shanghai');
7 ini_set('date.timezone','Asia/Chongqing');
國(guó)內(nèi)有2分鐘時(shí)差北方,南方
兩個(gè)辦法,一個(gè)是數(shù)據(jù)庫(kù)定時(shí)驅(qū)動(dòng)如果是MYSQL5.1以上的版本是可以設(shè)置定時(shí)器的,別的數(shù)據(jù)庫(kù)Oracle肯定是有的,MSSQL就不知道了然后你需要一句SQL來(lái)查詢滿足條件的信息,至少你需要一個(gè)加入時(shí)間做為判斷條件比如 現(xiàn)在時(shí)間-加入時(shí)間=24小時(shí)然后驅(qū)動(dòng)一個(gè)SQL事件去刪除--------------------------------------------------------------------------------------------------------然后是服務(wù)器定時(shí)任務(wù),同樣是查詢滿足條件的信息,然后刪除 兩種的辦法遠(yuǎn)離都差不多,SQL查詢滿足條件的信息然后定時(shí)(建設(shè)是每三分鐘驅(qū)動(dòng)一次)驅(qū)動(dòng)。