gpt4 book ai didi

Mysql - If 语句,执行更新

转载 作者:行者123 更新时间:2023-11-29 03:13:39 24 4
gpt4 key购买 nike

我正在尝试构建一个可以从日期时间戳中添加/减去秒数的查询。

这是我目前拥有的

    UPDATE `table` 
SET end_dt = DATE_ADD(end_dt, INTERVAL (15 - TIMESTAMPDIFF(SECOND, NOW(), end_dt)) SECOND)
WHERE DATE_SUB(end_dt, INTERVAL 15 second) <= NOW()

基本上是将日期时间重置为距当前时间仅剩 15 秒(如果小于 15 秒)。

我想添加一个 IF 条件,如果根据“end_dt”还剩下超过 15 秒,它只会增加一秒。

最佳答案

使用 MySQL 的 IF 函数来完成。

UPDATE `table` SET end_dt = 
IF(end_dt > DATE_ADD(NOW(),INTERVAL 15 second),
DATE_ADD(NOW(), INTERVAL 1 SECOND),
DATE_ADD(NOW(), INTERVAL 15 SECOND))
WHERE end_dt >= NOW()

我将 end_dt 隔离在 WHERE 子句的一半上,因此如果存在 end_dt 上的索引,则可以使用它。

您的意思是更新所有行吗?

关于Mysql - If 语句,执行更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4207386/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com