【问题标题】:update recrod according to datetime in mysql php [duplicate]根据mysql php中的日期时间更新记录[重复]
【发布时间】:2020-04-21 21:56:15
【问题描述】:

我有表名“info”和列“lastupdated”(数据类型是日期时间),我只想更新所有 记录“updatedOn”不等于 currentdate/今天的日期

这是我的表格“信息”

id      status      lastupdated
1       1           2010-01-01 13:25:02 
2       NULL        2010-01-03 14:05:02
3       1           2010-01-02 13:30:01

我尝试了以下查询但不工作,我错在哪里?

UPDATE info SET status = NULL
WHERE lastupdated != '2020-01-03'

【问题讨论】:

  • 请注意 DATE() 不能使用索引。因此,NOT BETWEEN '2020-01-03 00:00:00' AND '2020-01-03 23:59:59' 的性能会更高(如果所述索引可用)
  • 我投了反对票,因为如果我能找到至少 5 个重复项来结束,那么这个问题可能是“研究不足”。

标签: php mysql


【解决方案1】:

试试 Date() 函数

UPDATE info SET status = NULL WHERE DATE(lastupdated) != '2020-01-03'

【讨论】:

    【解决方案2】:

    可以使用mysql的DATE()函数进行比较

    UPDATE info SET status = NULL
    WHERE DATE(lastupdated ) != '2020-01-03'
    

    【讨论】:

      猜你喜欢
      • 2011-05-10
      • 2018-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多