《如何理解MySQL中的Event事件?》里我们已经清楚地知道什么是事件了,那该如何创建并执行事件呢?

在MySQL里,通过CREATE EVENT语句来创建事件:(冷知识:'[]'表示任选)

CREATE 
    [DEFINER = { user | CURRENT_USER }]  -- 定义事件执行的用户(可选)
    EVENT [IF NOT EXISTS] event_name      -- 事件名称,IF NOT EXISTS避免重复创建
    ON SCHEDULE schedule                  -- 核心且必选:设定执行时间/周期
    [ON COMPLETION [NOT] PRESERVE]        -- 任务完成后是否保留事件(默认不保留)
    [ENABLE | DISABLE | DISABLE ON SLAVE] -- 事件状态(启用/禁用,默认启用)
    [COMMENT 'string']                    -- 事件描述(可选)
    DO sql_statement;                     -- 要执行的SQL语句/语句块

怎么用?首先,记住ON SCHEDULE 这个参数必填!如果是在指定时间执行一次,比如在今天12:00:00进行,那就是ON SCHEDULE AT TIMESTAMP '2025-09-17 12:12:00' ;如果是周期性执行,比如每分钟都要执行一次,那就是 ON SCHEDULE EVERY 1 MINUTE 。

其次,举个例子就明白了;

先看看我们dotcpp_user有多少名用户:

dotcpp_user

如果我们想要每10s向dotcpp_user表格插入('dotcpp_Suser','go coding!'),则输入:

CREATE EVENT insert_user
ON SCHEDULE EVERY 10 SECOND
DO
    INSERT INTO dotcpp_user (name, hobby)
    VALUES ('dotcpp_Suser', 'go coding!');

等待一分钟,看看后面有没有10个用户:

LATER~

成功插入6+用户

记得:

DROP EVENT insert_user;   -- 不然要爆了!!!
点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)