2013-04-12 48 views
0

我有一個表(mysql)在我的應用程序存儲用戶的詳細信息。在這些字段中用戶保存他們的警報設置。即我們會提醒用戶保存日期。MySQL日期明智repleat查詢

我的表看起來像

id | Username  | name | alert_date   |  repeat_on 
-------------------------------------------------------------------------------- 
12 | user_name | name | 2013-08-12 00:00:00  |  30 
15 | user_nam2 | name | 2013-05-12 00:00:00  |  45 
-------------------------------------------------------------------------------- 

隨着我們發送提醒郵件和短信給用戶一個cron作業。像

select * from users where date(alert_date)=CURRENT_DATE 

它的工作正常,但有一個選項可以根據「repeat_on」天重複警報。就像我們必須在alert_date的每個「30」天(或之後)重複警報。我被困在這裏的查詢。請任何人給我一隻小手?

還有一個疑問,這是表的正確結構做?

在此先感謝

回答

1

嘗試:

SELECT * FROM users 
WHERE alert_date <= CURRENT_DATE AND DATE_ADD(alert_date, INTERVAL repeat_on DAY) >= CURRENT_DATE