Mysql 如何在日期和时间范围内更新表?
我有一个MySQL数据库,它有Date、Time、a、b和c列。日期是日期数据类型,时间是时间数据类型,a、b和c是浮点型 对于给定的日期和时间范围,我需要为b列中的条目添加一个常量值,但不是所有的值 我可以创建一个SELECT查询来获取我想要更新的数据,但我对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
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';