【问题标题】:select time 5 minutes before now选择现在前 5 分钟的时间
【发布时间】:2013-03-22 12:12:08
【问题描述】:

我目前正在编写一个投票脚本,我需要知道用户是否在最后 5 分钟内投票。如果是,则禁止下次投票。

我该如何提出这个请求?

这是我的尝试:

WHERE time AFTER INTERVAL(CURRENT_TIMESTAMP - 5 MINUTES)

【问题讨论】:

  • 它有效吗 - 还是无效?
  • @EdHeal 语法错误
  • 忍受语法错误是一个很容易解决的问题。

标签: php mysql vote


【解决方案1】:
WHERE time > NOW() - INTERVAL 5 MINUTE

试试看。

【讨论】:

    【解决方案2】:
    SELECT COUNT(id), from_unixtime(`timestamp` / 1000, '%Y-%m-%d %H:%i')
    FROM `table`
    WHERE `timestamp` >= unix_timestamp(CURRENT_TIMESTAMP - INTERVAL 5 MINUTE) * 1000
    

    参考下面的链接

    Already in stackoverflow

    【讨论】:

      【解决方案3】:

      这会起作用。

      time < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 5 MINUTE)
      

      【讨论】:

        【解决方案4】:

        试试这个:

        $time = date('YmdHis', strtotime('-5 minutes', strtotime('now')));
        "...WHERE time > '$time'"
        

        【讨论】:

        • 在这种情况下,MySQL 和 PHP 必须具有相同的时区和所有内容。
        • MySQL 和 PHP 应该有相同的时区,但是如果 time 列中的数据最初是由 PHP 添加的,或者如果他想使用“5 分钟”,这是最好的情况ago" 稍后在代码或其他 MySQL 调用中的值。
        猜你喜欢
        • 2015-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-29
        • 2012-08-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多