我创建了自动回复系统,用于通过动态时间进行订阅感谢信息。
常规设置具有时间功能,例如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天。
简而言之;
我想在订阅后发送3封邮件,1分钟,1天,1个月后。
谢谢!
答案 0 :(得分:0)
也许这可以解决你的问题:
SELECT * FROM
subscribers
WHERE
add_date >= DATE_SUB(CURDATE(),INTERVAL 1 DAY)
如果您使用NOW(),您将始终在查询中使用您不需要的分钟/秒(如果您的差异是> = =一天)。