首批通过分布式安全可靠测评,为关键业务系统打造
ALTER EVENT
更新时间:2026-07-15 20:42:47
该语句用于更改现有事件。
语法
ALTER
[DEFINER = user]
EVENT event_name
[ON SCHEDULE schedule]
[ON COMPLETION [NOT] PRESERVE]
[RENAME TO new_event_name]
[ENABLE | DISABLE | DISABLE ON SLAVE]
[COMMENT 'string']
[DO event_body]
参数解释
| 参数 | 描述 |
|---|---|
| event_name | 指定待创建事件的名称。 |
| DEFINER | 可选参数,指定修改事件的用户。目前不支持自定义 user,默认为当前 user。 |
| ON SCHEDULE schedule | 修改事件执行的计划。支持时间戳 + INTERVAL,如 “2020-12-01 00:00:00” + INTERVAL 1 DAY 时间必须为整数,时间单位支持 YEAR,MONTH,DAY,HOUR,MINUTE,SECOND。 |
| ON COMPLETION [NOT] PRESERVE | 定义当事件完成执行后是否保留事件。默认不保留(NOT PRESERVE),即事件执行完毕后自动删除。 |
| ENABLE、DISABLE、DISABLE ON SLAVE | 定义事件的状态。默认创建完为 ENABLE,表示创建事件后立即启用。DISABLE 创建事件后禁用,事件不会自动执行直到被手动启用。DISABLE ON SLAVE 仅在复制的环境下使用,事件在服务器上不会执行。 |
| COMMENT 'string' | 可选参数,为事件添加注释。 |
| DO event_body | 提供新的 SQL 语句以替换事件原来的操作。目前支持单条 SQL 语句,BEGIN END 多条 SQL 语句。 |
示例
obclient> ALTER EVENT myevent
ON SCHEDULE
AT '2024-07-02 00:00:00' + INTERVAL 1 DAY
DO
TRUNCATE TABLE myschema.mytable;
说明
ALTER EVENT 仅适用于现有事件。