猿问

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

请如何根据不同和特定的条件更新不同的列。例如:


UPDATE table

SET col1 = val1 WHERE col1 > 2

SET col2 = val2 WHERE col2 > 1

是否可以编写这样的SQL UPDATE语句,其中将根据不同的条件更新不同的列?


侃侃尔雅
浏览 353回答 1
1回答

慕码人8056858

用途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不会尝试更新所有行。
随时随地看视频慕课网APP
我要回答