--檢視定時器狀態;off=關閉,on=開啟
show variables like
'%event_sche%'--
開啟定時器
set global event_scheduler=1--
以上的改法在資料庫重啟後將會恢復為原來狀態,要想資料庫重啟後也可以讓event_scheduler開啟,則需要在配置檔案my.ini的設定。修改如下,然後重啟mysql服務即可。
--[mysqld]event_scheduler=on
--刪除儲存過程
drop
procedure
set_contract_user_combo_status_proce;
--建立儲存過程
delimiter $$
use`you_db`$$
drop
procedure
ifexists
`set_contract_user_combo_status_proce`$$
create
procedure
`set_contract_user_combo_status_proce`()
begin
update contract_user_combo_info set update_time=now(),update_by=
'set_contract_user_combo_status_event
',`is_valid` ='n
'where `enable`='y
'and is_valid ='y
'and end_time <=
now();
end$$
delimiter ;
--刪除定時器
drop
event set_contract_user_combo_status_event;
--建立定時器
delimiter $$
create
event set_contract_user_combo_status_event
--下面這句的意思是:從2020-08-13 23:59:00開始每天23:59:00秒執行set_contract_user_combo_status_proce()儲存過程
on schedule every 1
day starts '
2020-08-13 23:59:00'on
completion preserve disable
do call set_contract_user_combo_status_proce(); $$
delimiter ;
alter event set_contract_user_combo_status_event on completion preserve enable; //
開啟定時任務
alter event set_contract_user_combo_status_event on completion preserve disable;//關閉定時任務
-- 檢視事件執**況,其中last_executed欄位會反映出相應的事件最近一次的執行時間
select * from information_schema.events;
mysql 建立定時器
mysql定時器是系統給提供了event,而oracle裡面的定時器是系統給提供的job。廢話少說,下面建立表 create table mytable id int auto increment not null,name varchar 100 not null default introduc...
mysql 建立job mysql 建立定時器
mysql定時器是系統給提供了event,而oracle裡面的定時器是系統給提供的job。廢話少說,下面建立表 create table mytable id int auto increment not null,name varchar 100 not null default introduc...
mysql建立定時器(event)
mysql建立定時器 event 步驟。1 select version 檢視當前使用的mysql版本。2 showvariables like sche 檢視是否開啟event與開啟event。event功能預設是關閉的,可以使用上面的語句來看event的狀態,如果是off或者0,表示是關閉的。3...