Mysql 如何在日期和时间范围内更新表?

Mysql 如何在日期和时间范围内更新表?,mysql,Mysql,我有一个MySQL数据库,它有Date、Time、a、b和c列。日期是日期数据类型,时间是时间数据类型,a、b和c是浮点型 对于给定的日期和时间范围,我需要为b列中的条目添加一个常量值,但不是所有的值 我可以创建一个SELECT查询来获取我想要更新的数据,但我对MySQL还不太熟悉,不知道如何更新原始表 工作选择查询类似于: SELECT * FROM ( SELECT TIMESTAMP(`Date`, `Time`) `DateTime`, `b` FROM `my_db`.`my_ta

我有一个MySQL数据库,它有Date、Time、a、b和c列。日期是日期数据类型,时间是时间数据类型,a、b和c是浮点型

对于给定的日期和时间范围,我需要为b列中的条目添加一个常量值,但不是所有的值

我可以创建一个SELECT查询来获取我想要更新的数据,但我对MySQL还不太熟悉,不知道如何更新原始表

工作选择查询类似于:

SELECT * FROM (
  SELECT TIMESTAMP(`Date`, `Time`) `DateTime`, `b` FROM `my_db`.`my_table`
) as selectdata
WHERE `DateTime` > "2015-02-06" AND `DateTime` < "2015-08-01 10:45:00"
有没有办法更新b列中的条目,然后在my_表中的原始值上写入新值?

您可以在WHERE子句中使用时间戳表达式进行更新:


非常感谢。这非常有效。一个小的修正:设置b=b+常数。
update my_db.my_table
    set b = b + CONSTANT
    where TIMESTAMP(`Date`, `Time`) > '2015-02-06' and
          TIMESTAMP(`Date`, `Time`) < '2015-08-01 10:45:00';