如果在一定时间内没有新记录插入MySQL数据库,如何设置要发送的电子邮件警报?
我有一个由id和datetime字段组成的简单表。理想情况下,如果在每天上午10:00之前将 no 记录插入数据库,我希望收到电子邮件提醒。这完全可行吗?
谢谢。
答案 0 :(得分:1)
您可以通过带有cron job
字段的sql查询设置datetime
,以获取1天间隔的gettng记录。
没有记录(count=0
),那么您需要执行发送邮件警报的代码。
查询将如下所示:
SELECT count(id)
FROM mytable
WHERE datetime_field_date BETWEEN CURDATE() - INTERVAL 1 DAY AND CURDATE()
请做必要的更改。
答案 1 :(得分:0)
您可以设置一个cron作业
前者
0 10 * * * Your job over here
0分钟
10小时
所以每天上午10点cron都会执行你的工作。
如需更多参考,请浏览此网站http://www.adminschoice.com/crontab-quick-reference
答案 2 :(得分:0)
假设您想要将其完全保留在数据库中,您需要创建一个每天运行一次的事件(例如10:00:01)。 Find out more
此事件将执行查询以检查自上次检查后是否已收到任何记录。像the query proposed by Teez这样的东西就足够了。
但是,您可能希望为此添加更多智能,以允许中断。如果数据库在10.00.01关闭并且查询最终在10:05运行,你不希望在10:04收到的消息破坏结果(或者你会吗?取决于业务规则 - 也许该记录应该已插入09:59但数据库已关闭......)
无论如何,如果查询计数为零,那么您要发送警报。有一个名为MySQL Messages的项目,它提供了API来完成这项工作。 Check it out。
由于此处有几个电话,您需要使用BEGIN
和END
来声明这些语句。
如果确实沿着此路线前进,请确保已启用事件计划程序。 Find out more