如果value2,value3,value4为null,我想在value1中设置null,其中id = 1.如果value2,value3,value4不为null,则保留value1 / not set 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
答案 0 :(得分:1)
你应该juse几个AND是null
UPDATE students
SET value1 = NULL
WHERE students.id = 1
AND ( value2 IS NULL AND value3 IS NULL AND value4 IS NULL)
答案 1 :(得分:0)
您正在寻找以下之一。取决于你需要什么。
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,则使用第二个,如果其他所有其他值必须为null,则value1可以为null。