【问题标题】:Create event daily, on a specific time每天在特定时间创建活动
【发布时间】:2015-09-05 21:58:29
【问题描述】:

第一个事件删除表中的所有行:

CREATE DEFINER=`frontdes_user`@`localhost` EVENT `DELETE_flux_receptie` ON SCHEDULE EVERY 1 DAY STARTS '2015-09-06 00:00:00' ON COMPLETION PRESERVE ENABLE DO DELETE FROM `flux_receptie`

第二个事件从同一个表中删除id 列:

CREATE DEFINER=`frontdes_user`@`localhost` EVENT `delete_id` ON SCHEDULE EVERY 1 DAY STARTS '2015-09-06 00:00:00' ON COMPLETION PRESERVE ENABLE DO ALTER TABLE `flux_receptie` DROP `id`

第三个事件将id 列添加到同一个表中:

CREATE DEFINER=`frontdes_user`@`localhost` EVENT `add_id` ON SCHEDULE EVERY 1 DAY STARTS '2015-09-06 00:00:00' ON COMPLETION PRESERVE ENABLE DO ALTER TABLE `flux_receptie` ADD `id` INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`)

我希望这些活动每天运行: 第一个每天 06:30,第二个每天 06:35,第三个每天 06:40。 任何人都可以帮我制定正确的时间表吗?最好的问候,博格丹。

【问题讨论】:

    标签: events mysql-event


    【解决方案1】:

    如果您可以访问您的机器,则可以使用 cronJob,crontab 计划的基本格式由 6 个字段组成,放置在一行中并以空格分隔,格式如下:

    minute hour day month day-of-week command-line-to-execute
    

    首先创建一个脚本:

    第一个脚本

    #!/bin/bash
    
    mysql --user=[username] --password=[password] --database=[db name] --execute="CREATE DEFINER=`frontdes_user`@`localhost` EVENT `DELETE_flux_receptie` ON SCHEDULE EVERY 1 DAY STARTS '2015-09-06 00:00:00' ON COMPLETION PRESERVE ENABLE DO DELETE FROM `flux_receptie`"
    

    第二个脚本

    #!/bin/bash
    
    mysql --user=[username] --password=[password] --database=[db name] --execute="CREATE DEFINER=`frontdes_user`@`localhost` EVENT `delete_id` ON SCHEDULE EVERY 1 DAY STARTS '2015-09-06 00:00:00' ON COMPLETION PRESERVE ENABLE DO ALTER TABLE `flux_receptie` DROP `id`"
    

    第三个脚本

    #!/bin/bash
    
    mysql --user=[username] --password=[password] --database=[db name] --execute="ALTER TABLE `flux_receptie` ADD `id` INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`)"
    

    然后使用crontab -e创建3个cron

    crontab -e

    30 6 * * * /path/of/scriptOne

    35 6 * * * /path/of/scriptTwo

    40 6 * * * /path/of/scriptThree

    【讨论】:

    • cronJob 是一个程序吗?是的,我可以访问。它在我的 wamp 服务器上。
    • 我不知道它在 Windows 上是如何工作的,但名称是使用命令行实用程序的 schtasks。对不起,但我想你是在 linux 机器上
    • 我在 phpmyadmin 中有一个事件调度程序。我应该在那里解决它。
    • 是的,您也可以使用 phpMyAdmin 事件调度程序,填写所有字段。如果你有问题写在这里
    • 谢谢,使用 PHPMyadmin 事件调度器很容易。
    猜你喜欢
    • 2023-04-09
    • 2021-11-09
    • 2014-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-28
    相关资源
    最近更新 更多