2013-08-29 20 views
0

我試圖阻止我的評論系統發送垃圾郵件,並且阻止用戶快速發佈多個評論,並且希望評論帖之間有5分鐘的延遲。當用戶發佈消息時,我想運行一個快速查詢,查找用戶上次發佈後特定文章已經過去多少分鐘。從上一個插入的行開始獲取分鐘數

這是我的表中的數據:

[blog_comments]

comment_id | article_id | commenter_id | comment   | posted 
-----------|------------|--------------|-------------------|--------------------- 
1   | 1023  | 2322   | blah blah blah | 2013-08-29 17:27:03 

我需要找出之間存在(現在貼)有多少分鐘的差異,但使用UTC_TIMESTAMP()。

我正在看DATEDIFF和TIMEDIFF,但遇到了麻煩,因爲TIMEDIFF需要時間而不是日期,而DATEDIFF會在幾天內返回。

這是我的嘗試:

SELECT DATEDIFF(UTC_TIMESTAMP(), posted) 
FROM blog_comments 
WHERE article_id = 1023 AND commenter_id = 2322 

但是我怎麼弄分鐘?我想要這個,所以我可以向剛剛發佈評論的用戶報告,等待另一個「X」分鐘/秒,直到再次發佈。分鐘和秒將是一個巨大的獎金。

任何幫助表示讚賞。

+0

旁白:這可能是快做計算,而不SQL。抓住時間戳並進行計算。 –

回答

1

嘗試

SELECT TIMESTAMPDIFF(MINUTE,posted,Now()) AS minutes_since_post 
FROM blog_comments 
WHERE article_id = 1023 AND commenter_id = 2322 
0

DATEDIFF將返回天數差異。嘗試使用TIMEDIFF函數。

相關問題