1.創建存儲過程。
2.創建事件(定時執行存儲過程)。
舉例,如有表STUDENT 字段有id、name、age、login_time(登錄時間);
每30秒更新登錄時間為當前時間。
(1)創建STUDENT表。
(2)創建存儲過程pro_student:
begin
update STUDENT set login_time=now();
end
保存
(3)創建事件e_student
CREATE EVENT if not exists e_student
on schedule every 30 second
on completion preserve
do call pro_student();
3.如果沒有生效則查看event和事件任務是否開啟:
查看event是否開啟: show variables like %sche%;
將事件計劃開啟: set global event_scheduler=1;
關閉事件任務: alter event e_test ON COMPLETION PRESERVE DISABLE;
開戶事件任務: alter event e_test ON COMPLETION PRESERVE ENABLE;
在創建作業時報以下錯誤,
在打開數據庫時客戶端提示“Cannot proceed because system tables used by Event Scheduler were found damaged at server start”
造成此原因是MySQL服務器的當前版本不兼容所有數據庫的表
解決方法
1、linux、windows下解決方法類似
$PATH /mysql_upgrade -u root -p
例如:/usr/local/mysql/bin/mysql_upgrade – u root -p [回車輸入密碼即可]
$PATH mysql安裝路徑 我這裡是用的(D:wampinmysqlmysql5.1.30in)
執行完後停止mysqld後再重新啟動mysqld一次,問題即可解決。