Mysql事件 定時清空表

2021-10-08 10:36:15 字數 1177 閱讀 6863

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日誌,不可以恢復資料...