如何检查MySQL表更新并使用cron作业发送邮件

时间:2016-05-06 07:36:45

标签: mysql amazon-web-services cron cron-task

我编写了一个请求程序,它在插入新数据时自动包含发送邮件。我想用cron来激活请求。

每当MySQL更新时,我都希望自动收到邮件。

1 个答案:

答案 0 :(得分:0)

我建议采用以下解决方案:

1)添加列'状态'默认值=' INSERTED'并创建一个简单的程序,它将检索状态为' Inserted'微小并发送电子邮件通知。发送电子邮件后,您应该将状态更新为' SENDED'或类似的东西。

ALTER TABLE `your_table` 
ADD COLUMN `STATUS` VARCHAR(45) NULL DEFAULT 'INSERTED';

您的应用程序由cron作业安排,应该通过查询检索数据:

select <some_fields>
from  <your_table>
where status = 'INSERTED'; 

<send email logic>

update <your_table>
set status = 'SENDED'; 
where status = 'INSERTED'; 

2)创建触发器,将有关新行的信息插入到单独的表中。接下来的步骤与之前的方法相同。

CREATE TRIGGER save_inserted_data AFTER INSERT ON your_table
FOR EACH ROW BEGIN
      insert into log_table (id)
      values (:new.id)
END;

<send email logic>

delete from log_table; 

您应该添加一些逻辑,在发送电子邮件时会考虑新行。即,

  • 插入了3行
  • 您检索3行以进行电子邮件通知
  • 有人添加新的
  • 只需标记/删除3行(不含新行)