【发布时间】:2012-12-02 02:17:38
【问题描述】:
是否可以创建一个每晚 11 点运行的存储过程,如果最近六个月修改了任何记录,请检查表,如果最近六个月修改了某些记录,我必须从表中删除它。这必须在不使用任何外部语言的情况下自动运行。
【问题讨论】:
标签: mysql automation mysql-event
是否可以创建一个每晚 11 点运行的存储过程,如果最近六个月修改了任何记录,请检查表,如果最近六个月修改了某些记录,我必须从表中删除它。这必须在不使用任何外部语言的情况下自动运行。
【问题讨论】:
标签: mysql automation mysql-event
【讨论】:
CREATE EVENT IF NOT EXISTS `my_old_data_cleaner_event`
ON SCHEDULE EVERY 23 DAY_HOUR
COMMENT 'Clean up Service Start at 11:00PM daily!'
DO DELETE FROM my_table WHERE created_date < (NOW() - INTERVAL 1 MONTH);
OR 存储过程。
CREATE EVENT IF NOT EXISTS `my_old_data_cleaner_event`
ON SCHEDULE EVERY 23 DAY_HOUR
DO CALL my_sp_cleanup_old_data();
【讨论】:
创建一个如下所示的事件
CREATE EVENT e_daily
ON SCHEDULE
EVERY 1 DAY
DO
BEGIN
DELETE FROM tableA WHERE DATE(`yourtimestamp`) <(CURDATE() - INTERVAL 6 MONTHS);
END
【讨论】:
您还可以编写一个脚本来处理您在 Python、Perl、PHP 等中的数据。
之后,只需使用crontab -e 设置 cron 条目并添加以下行:
0 23 * * * /path/to/my/script.pl 2>&1 >/dev/null
如果您不指定2>&1 >/dev/null,您将收到包含执行结果的电子邮件。
【讨论】: