zoukankan      html  css  js  c++  java
  • 修改MySQL事件

    MySQL允许您更改现有事件的各种属性。 要更改现有事件,请使用ALTER EVENT语句,如下所示:

    ALTER EVENT event_name
    ON SCHEDULE schedule
    ON COMPLETION [NOT] PRESERVE
    RENAME TO new_event_name
    ENABLE | DISABLE
    DO
      event_body

    请注意,ALTER EVENT语句仅应用于现有事件。如果尝试修改不存在的事件,MySQL将发出一个错误消息,因此,应该先使用SHOW EVENTS语句来检查事件是否存在,然后再更改它。

    SHOW EVENTS FROM studymysql;


    修改事件(ALTER EVENT)示例

    让我们创建一个示例事件来演示使用ALTAR EVENT语句的各种功能。
    以下语句创建一个事件,并每分钟向messages表中插入一条新记录。

    CREATE EVENT test_event_04
    ON SCHEDULE EVERY 1 MINUTE
    DO
       INSERT INTO messages(message,created_at)
       VALUES('测试ALTER EVENT语句',NOW());

    更改计划

    要使事件每2分钟运行一次,请使用以下语句:

    ALTER EVENT test_event_04
    ON SCHEDULE EVERY 2 MINUTE;

    更改事件主体

    您还可以通过指定新逻辑来更改事件的主体,如下所示:

    ALTER EVENT test_event_04
    DO
       INSERT INTO messages(message,created_at)
       VALUES('Message from event',NOW());

    您可以先等待2分钟,然后再次查看messages表:

    SELECT * FROM messages;

    禁用事件

    要禁用事件,请使用以下语句:

    ALTER EVENT test_event_04
    DISABLE;

    您可以使用SHOW EVENTS语句来检查事件的状态,如下所示:

    SHOW EVENTS FROM studymysql;

    启用事件

    要启用已禁用的事件,请在ALTER EVENT语句之后使用ENABLE关键字,如下所示:

    ALTER EVENT test_event_04
    ENABLE;

    重命名事件

    MySQL中不为提供RENAME EVENT语句。不过可以使用ALTER EVENT来重命名现有事件,如下所示:

    ALTER EVENT test_event_04
    RENAME TO test_event_05;

    将事件移动到其他数据库

    可以使用RENAME TO子句将事件从数据库移动到另一个数据库,如下所示:

    ALTER EVENT studmysql.test_event_05
    RENAME TO newdb.test_event_05

    假设 newdb 数据库数据库在MySQL数据库服务器中可用。

    在本教程中,我们向您展示了如何使用ALTER EVENT语句来修改MySQL事件的各种属性。


    转载自:http://www.studymysql.com/mysql/triggers-modifying-mysql-events.html
  • 相关阅读:
    Linux下安装Apache2.4.43踩坑记录
    网络代理条件下配置git
    docker存储驱动的选择
    Python列表排序
    解决apache无法启动No space left on device
    Flask匹配url使用正则表达式
    Web安全-客户端脚本安全
    springboot中的一些好用注解
    基于cdn方式的vue+element-ui的单页面架构
    干货网站
  • 原文地址:https://www.cnblogs.com/18JG23/p/6296679.html
Copyright © 2011-2022 走看看