我正试图防止在我的评论系统中发送垃圾邮件,并阻止用户过快地发布多个评论,并希望在评论之间间隔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/