Mysql 向数据库中具有特定时间戳的行添加时间

Mysql 向数据库中具有特定时间戳的行添加时间,mysql,database,timestamp,sql-update,Mysql,Database,Timestamp,Sql Update,我有一个数据库表,其中包含每个记录的时间戳。每天,这个数据库都会被一个cron更新,该cron被设置为在格林尼治标准时间午夜(23:59:00)前1分钟运行。我们正在将cron更改为正好在午夜运行(00:00:00),因此我需要更新在第二天23:59到00:00记录的所有字段(2013-05-21 23:59:00应更新为2013-05-22 00:00:00) 更新脚本被设置为在脚本开始时捕获时间戳,但由于写得不好,它没有占秒数,因此有些记录的开始时间为2013-05-21 23:59:01,

我有一个数据库表,其中包含每个记录的时间戳。每天,这个数据库都会被一个cron更新,该cron被设置为在格林尼治标准时间午夜(23:59:00)前1分钟运行。我们正在将cron更改为正好在午夜运行(00:00:00),因此我需要更新在第二天23:59到00:00记录的所有字段(2013-05-21 23:59:00应更新为2013-05-22 00:00:00)

更新脚本被设置为在脚本开始时捕获时间戳,但由于写得不好,它没有占秒数,因此有些记录的开始时间为2013-05-21 23:59:01,有些记录的开始时间可能为2013-05-20 23:59:02,甚至2013-05-19 23:59:03。所有这些都需要更新到第二天的00:00:00

还有数千条其他记录没有被cron更新,因此具有随机时间戳这些记录需要保持不受影响。例如2013-05-19 23:13:47、2013-05-19 02:50:56和2013-05-19 16:42:13都应该保持不变

我认为下面的代码在某种程度上与我正在寻找的代码是一致的,但是经过一些谷歌搜索和自我测试后,我没有多少运气

UPDATE table
 SET `time` = CASE
              WHEN CURRENT_TIMESTAMP>='23:59:00' 
              THEN CURRENT_TIMESTAMP + INTERVAL 1 MINUTE
              ELSE CURRENT_TIMESTAMP END
请尝试此查询-

UPDATE
  table
SET
  `time` = DATE(`time`) + INTERVAL 1 DAY
WHERE
  TIME(`time`) >= '23:59:00'
请尝试此查询-

UPDATE
  table
SET
  `time` = DATE(`time`) + INTERVAL 1 DAY
WHERE
  TIME(`time`) >= '23:59:00'

时间可以是“23:59:15”吗?23:59:xx的任何时间都可以安全地更新到午夜,尽管我认为我发现运行的最新cron发生在23:59:04(如果有关系)。时间可以是“23:59:15”吗?23:59:xx的任何时间都可以安全地更新到午夜,尽管我认为我发现运行的最新cron发生在23:59:04(如果有关系)。