1

我已经创建了自动回复系统,用于订阅具有动态时间传导的感谢消息。

常规设置具有时间功能,例如 1 分钟后、1 天、1 周等。当客人订阅我的列表时,应发送基于 cron 的自动回复器,并带有选定的时间条件。但是我的 sql 查询不能正常工作。我尝试了很多查询,但现在没有成功。这是我的构建;

订户表

ID   mail              add_date
1    mail1@gmail.com   2015-06-16 22:11:20
2    mail2@gmail.com   2015-06-16 22:19:30

当前时间: 2015-06-16 22:20:30

SQL查询:

SELECT 
        S.* 
FROM 
        subscribers AS S
        LEFT JOIN tasks AS T ON (T.CID=2 AND S.subscriber_mail=T.subscriber_mail)
        LEFT JOIN unsubscribes AS U ON (U.CID=2 AND S.subscriber_mail=U.subscriber_mail)
WHERE
        (T.subscriber_mail IS NULL)
        AND (U.subscriber_mail IS NULL)


 AND (S.add_date > date_sub('2015-06-16 22:20:30', interval 1 MINUTE)) LIMIT 5000

它成功发送,但如果我为“1 天后”创建新条件,它无法正常工作,它在第一次查询后发送相同的消息,它不会等待 1 天。

简而言之;

我想在订阅后、1 分钟、1 天、1 个月后发送 3 封邮件。

谢谢!

4

1 回答 1

0

也许这可以解决您的问题:

SELECT * FROM 
    subscribers
WHERE
    add_date >= DATE_SUB(CURDATE(),INTERVAL 1 DAY)

如果您使用 NOW(),您将始终在查询中获得不需要的分钟/秒(如果您的差异 >= 一天)。

于 2015-06-17T20:21:19.657 回答