【问题标题】:Difference between current time and other time in database mysql数据库mysql中的当前时间和其他时间之间的差异
【发布时间】:2015-09-07 07:35:28
【问题描述】:

我正在尝试在 php 中运行 mysql 查询,以便删除当前时间与存储在 date_time 列中的日期之间的差异大于 2 天的所有行。 我正在尝试这样做。

$query="DELETE FROM fomrad_requests WHERE TIMESTAMPDIFF(SECOND,date_time,now())>=2*24*60*60";
    $conn->query($query);

你能告诉我我做错了什么吗? 谢谢!

【问题讨论】:

  • 为什么你应该做错事?
  • @Dawid Ferenczy ,我回复了 Gordon 的回答,说我在发布后看到代码有效。我刚刚插入了错误的数据库名称。对不起,伙计们...
  • 我的意思是不同的——你在问你做错了什么。但是你没有描述,什么不起作用,你得到了什么错误等等。这样没有人能够帮助你,因为没有人知道你需要帮助什么。顺便说一句,如果您使用了错误的数据库名称,错误消息必须是“DB xyz 不存在”,所以它必须很明显,不是吗?无论如何,我很高兴你自己解决了:)

标签: php mysql database


【解决方案1】:

像这样更简单的东西怎么样?

delete fr
    from fomrad_requests fr
    where date_time <= date_sub(now(), interval 2 day);

【讨论】:

  • where date_time &lt;= now() - interval 2 day;
  • @Dagon 。 . .我对在这样的表达式中使用now() 感到紧张。它真的不是datetime。它是一个字符串或数字,具体取决于上下文。
  • 好的,我再也不会这样做了。 :-) 实际上在阅读了你写的一些东西后,我总是会在这些问题上向你的智慧低头
  • @Gordon Linoff ,您的回答有效。但是,在进一步的检查中,我发现我的也可以。我只使用了错误的数据表名称......真可惜。不管怎样,谢谢你的回答,很抱歉问这个.. :(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-06
  • 1970-01-01
  • 2011-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-05
相关资源
最近更新 更多