1.設定開啟event scheduler
set global event_scheduler=1;
2.驗證event_scheduler是否已經開啟
show variables like '%event%'
;#值為 on 表明已開啟
show variables like 'event_scheduler'
;
3.建立event
drop event if exists e_delete_upvote;
create event e_delete_upvote
on schedule every 1 day starts date_add(concat(current_date(
), ' 00:00:00'
), interval 0 second)
on completion preserve enable
do truncate table dreamland.upvote;
#說明:
on schedule every 1 day 指定迴圈間隔為每天執行
starts date_add(concat(current_date(), 』 23:59:00』), interval 0 second) 指定執行時間為23:59:00
on completion preserve enable 指定建立完成後即啟用,否則需手動啟動
4.手動關閉事件
alter event e_delete_upvote disable;
5.手動該事件為可用
alter event e_delete_upvote enable;
6.檢視已有的定時事件任務
show events;
7.刪除事件
drop event e_delete_upvote;
注意:真實的開發環境中,會遇到mysql服務重啟或者斷電的情況,此時則會出現事件排程器被關閉的情況,所有事件都不在起作用,要想解決這個辦法,則需要在mysql.ini檔案中加入event_scheduler = on; 的語句 Mysql定時清空表
1.設定開啟event scheduler set global event scheduler 1 2.驗證event scheduler是否已經開啟 show variables like event 值為 on 表明已開啟 show variables like event scheduler...
mysql事件定時刪除表資料
遇到乙個需求是每隔一天,清空一次某個快取表的資料。想到了mysql的事件定時,記錄一下操作過程 開啟事件配置 重啟服務後失效 set global event scheduler 1 或 mysql配置檔案my.ini my.cnf 在 mysqld 塊中新增 event scheduler on ...
清空mysql表資料
delete from 表名 truncate table 表名 不帶where引數的delete語句可以刪除mysql表中所有內容,使用truncate table也可以清空mysql表中所有內容。效率上truncate比delete快,但truncate刪除後不記錄mysql日誌,不可以恢復資料...