【问题标题】:mysql update values from one column in same table based on another 3 column valuemysql 根据另一个 3 列值更新同一表中一列的值
【发布时间】:2018-01-01 10:00:41
【问题描述】:

如果 value2、value3、value4 为 null,其中 id = 1,我想在 value1 中设置 null。如果 value2、value3、value4 不为 null,则保持 value1/不设置 null 我的表如下所示:

Table: students
id|value1|value2|value3|value4|
-------------------------------
1 |value | NULL | NULL | NULL |
-------------------------------
2 |value | value | NULL | NULL|

我想要这样的表:

Table: students
id|value1|value2|value3|value4|
-------------------------------
1 | Null | NULL | NULL | NULL |
-------------------------------
2 |value | value | NULL | NULL|

我试试

 UPDATE students SET value1 = NULL WHERE students.id = 1 AND value2 = value3 = value4 IS NULL

【问题讨论】:

    标签: mysql


    【解决方案1】:

    你应该判断几个 AND 为空

    UPDATE students 
    SET value1 = NULL 
    WHERE students.id = 1 
    AND ( value2 IS NULL AND value3 IS NULL AND value4 IS NULL) 
    

    【讨论】:

      【解决方案2】:

      您正在寻找以下内容之一。看你需要什么。

      UPDATE students SET value1 = NULL WHERE (value2 IS NULL OR value3 IS NULL OR value4 IS NULL) AND students.id = 1
      

      或者

      UPDATE students SET value1 = NULL WHERE (value2 IS NULL AND value3 IS NULL AND value4 IS NULL) AND students.id = 1
      

      如果 value1 中的任何一个为 null,则使用第一个,如果所有其他都需要为 null,则使用第二个,然后 value1 可以为 null。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-12-08
        • 2019-08-20
        • 1970-01-01
        • 2016-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多