Mysql中的事件

2022-05-08 14:42:12 字數 2542 閱讀 1536

一組sql集,用來執行定時任務,跟觸發器很像,都是被動執行的,事件是因為時間到了觸發執行,而觸發器是因為某件事件(增刪改)觸發執行;

檢視是否開啟:

如果顯示off,則輸入以下語句開啟:

首先、新建user表:

-- ----------------------------

-- table structure for

`user`

-- ----------------------------drop table if exists `user`;

create table `user` (

`id` bigint(

20) not null auto_increment,

`name` varchar(

200) not null,

`address` varchar(

500) not null,

`addtime` datetime not null,

primary key (`id`)

) engine=innodb default charset=utf8;

然後、新建事件,有兩種事件型別,乙個是間隔觸發,另乙個是特定事件觸發。

型別一:每隔一分鐘插入一條資料:

引數說明:

definer:建立者;

on completion [not] preserve :表示當事件不會再發生的情況下,刪除事件(注意特定時間執行的事件,如果設定了該引數,執行完畢後,事件將被刪除,不想刪除的話可以設定成on completion preserve);

enable:表示系統將執行這個事件;

-- ----------------------------

-- event structure for

`event_minute`

-- ----------------------------drop event if exists `event_minute`;

delimiter ;;

create definer=`root`@`localhost` event `event_minute` on schedule every 1 minute starts '

2016-01-17 14:49:43

'on completion not preserve enable do

begin

insert into user(name, address,addtime) values(

'test1

','test1

',now());

insert into user(name, address,addtime) values(

'test2

','test2

',now());

end;;

delimiter ;

型別二:特定時間插入一條資料,如2016-01-17 15:30:00引數說明:

definer:建立者;

on completion [not] preserve :表示當事件不會再發生的情況下,刪除事件(注意特定時間執行的事件,如果設定了該引數,執行完畢後,事件將被刪除,不想刪除的話可以設定成on completion preserve);

enable:表示系統將執行這個事件;

-- ----------------------------

-- event structure for

`event_at`

-- ----------------------------drop event if exists `event_at`;

delimiter ;;

create definer=`root`@`localhost` event `event_at` on schedule at '

2016-01-17 15:30:00

'on completion not preserve enable do

begin

insert into user(name, address,addtime) values('at

','at

',now());

end;;

delimiter ;

檢視結果,結果正確:

mysql中的事件語法 MySQL中的事件

事件是什麼?mysql5.1版本開始引進event概念,mysql 中的事件 event 時間觸發器 是用於執行定時或週期性的任務,類似linux中的crontab,但是後者只能精確到分鐘,事件可以精確到秒。通過單獨或呼叫儲存過程使用,在某一特定的時間點,觸發相關的sql語句或儲存過程。事件由乙個特...

MySQL中的事件

實踐參考 mysql5.1版本開始引進event概念,mysql 中的事件 event 時間觸發器 是用於執行定時或週期性的任務,類似linux中的crontab,但是後者只能精確到分鐘,事件可以精確到秒。通過單獨或呼叫儲存過程使用,在某一特定的時間點,觸發相關的sql語句或儲存過程。事件由乙個特定...

MySQL 簡述MySQL中的事件Event

事件 一組sql集,用來執行定時任務,跟觸發器很像,都是被動執行的。事件是因為時間到了觸發執行,而觸發器是因為某件事件 增刪改 觸發執行。1.查詢mysql的事件功能狀態 想要使用mysql的事件功能,前提是確保服務開啟。查詢指令如下 select event scheduler 或show var...