【问题标题】:Changing multiple values in a MySQL table更改 MySQL 表中的多个值
【发布时间】:2014-12-31 14:08:07
【问题描述】:

我需要在 MySQL 表中更改多个记录的特定字段/列的值以及特定日期之间的值。使用 MySQL 工作台 v5.2。因此,例如,我需要检查两个特定日期之间的值是否超过 x。如果它超过x,那么我需要使它= y。我正在尝试以下不起作用的语句。它在 WHERE 子句上给了我一个错误。

UPDATE `mydb`.`mytable` WHERE `Time_Stamp`
BETWEEN '2014-12-31 00:00:00'
    AND '2014-11-31 06:00:00'
IF `my_Column` > x Then
    `my_Column` = y
End IF;

即使它确实接受 WHERE 子句,我也不确定 IF 语句是否会在此之后继续工作。如您所见,我是一名学习者。因此,我们将不胜感激。

【问题讨论】:

    标签: mysql sql sql-update case where


    【解决方案1】:

    试试这个:

    UPDATE mydb.mytable 
    SET my_Column = CASE WHEN my_Column > x THEN y ELSE x END
    WHERE Time_Stamp BETWEEN '2014-12-31 00:00:00' AND '2014-11-31 06:00:00'
    

    【讨论】:

    • 优秀的 Saharsh,效果很好。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-14
    • 2017-04-08
    • 1970-01-01
    • 2014-06-23
    • 2015-11-06
    相关资源
    最近更新 更多