MySql 建立定時器

2022-06-14 13:48:10 字數 1650 閱讀 8322

--

檢視定時器狀態;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...