我想用mysql做一點垃圾郵件過濾器。我想檢查用戶在表格中創建的最後一條記錄,並將其與當前時間進行比較。創建的時間使用mysql datetime
格式存儲爲date_created
。mysql的時差
我試過TIMEDIFF()
,但我無法讓它爲我工作,請幫助。
我想用mysql做一點垃圾郵件過濾器。我想檢查用戶在表格中創建的最後一條記錄,並將其與當前時間進行比較。創建的時間使用mysql datetime
格式存儲爲date_created
。mysql的時差
我試過TIMEDIFF()
,但我無法讓它爲我工作,請幫助。
SELECT count(*) FROM database WHERE date_created> NOW() - INTERVAL 1 HOUR AND user_id=17
如果該查詢返回非零值,則該用戶都行,在最後一小時內創建
爲了獲得最新的記錄和時間差異,以當前時間爲用戶x
SELECT
tab.*,
TIMEDIFF(NOW(), date_created) as diff
FROM tab
WHERE(userid = x)
ORDER BY date_created DESC
LIMIT 1
是'tab。*,'真的正確嗎? – halliewuud
使用表格的名稱替換'tab',與'FROM'後面的一樣。或者僅僅使用'*,'也應該起作用。 – ain
我不能使用紀元時間insted? NOW()給我當地時間.. – halliewuud
是關於UNIX_TIMESTAMP的嗎?如果date_created是datetime – RiaD
@halliewuud晚了一點,但是你可以使用'UTC_TIMESTAMP()'獲取UTC中的當前日期時間,這很奇怪。 – Nate