我正试图防止在我的评论系统中发送垃圾邮件,并阻止用户过快地发布多个评论,并希望在评论之间间隔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'分钟/秒,直到再次发表。分钟和秒钟将是巨大的收获。

任何帮助表示赞赏。

最佳答案

尝试

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

关于mysql - 自上次插入行以来的分钟数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18516444/

10-13 08:20