簡體   English   中英

MySQL:使用不同的條件更新不同的列

[英]MySQL: update different columns with separate conditions

請如何根據不同和特定的條件更新不同的列。 例如:

UPDATE table
SET col1 = val1 WHERE col1 > 2
SET col2 = val2 WHERE col2 > 1

是否可以編寫這樣的SQL UPDATE語句,其中將根據不同的條件更新不同的列?

case

UPDATE table
    SET col1 = (CASE WHEN col1 > 2 THEN val1 ELSE col1 END),
        col2 = (CASE WHEN col2 > 1 THEN val2 ELSE col2 END);

您還可以添加WHERE col1 > 2 or col2 > 1這樣MySQL不會嘗試更新所有行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM