第一个事件会删除表中的所有行:
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。 任何人都可以按正确的时间表帮助我吗?最好的问候,波格丹。
答案 0 :(得分: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
30 6 * * * / path / of / scriptOne
35 6 * * * / path / of / scriptTwo
40 6 * * * / path / of / scriptThree