CREATE EVENT event_nameON SCHEDULE AT start_time EVERY interval_valueDO -- 要执行的任务">

mysql定时任务怎么写

来源:这里教程网 时间:2026-02-28 18:16:12 作者:

如何使用 MySQL 创建定时任务

MySQL 是一种功能强大的数据库管理系统,它允许您在特定时间间隔自动执行任务。要创建 MySQL 定时任务,您可以使用

EVENT
语句。

创建 EVENT 语句

<code class="sql">CREATE EVENT event_name
ON SCHEDULE
  AT start_time
  EVERY interval_value
DO
  -- 要执行的任务
END;</code>

参数说明:

event_name:定时任务的名称。 ON SCHEDULE:指定任务调度的类型。可以是
AT
(特定时间)或
EVERY
(特定时间间隔)。
AT start_time:如果
ON SCHEDULE
AT
,则指定任务开始执行的时间。
EVERY interval_value:如果
ON SCHEDULE
EVERY
,则指定任务执行的频率,例如
EVERY 1 DAY
(每天执行一次)。
DO:指定要执行的任务。可以使用 SQL 语句或存储过程。

示例

以下示例创建一个每小时执行一次的定时任务,该任务将

user_activity
表中的记录从数据库中删除:

<code class="sql">CREATE EVENT hourly_cleanup
ON SCHEDULE
  EVERY 1 HOUR
DO
  DELETE FROM user_activity
  WHERE timestamp < DATE_SUB(NOW(), INTERVAL 1 HOUR);
END;</code>

管理 EVENT

一旦创建了定时任务,您可以使用以下语句对其进行管理:

查询 EVENT:
SHOW EVENTS;
启用/禁用 EVENT:
ALTER EVENT event_name [ENABLE | DISABLE];
删除 EVENT:
DROP EVENT event_name;

注意事项

MySQL 8.0 及更高版本支持
EVENT
确保 MySQL 服务器正在运行,并且定时任务已启用。 定时任务将在服务器时间而不是客户端时间执行。

相关推荐