mysql update根据不同的条件修改不同列的值

例:一张表中有A、B、C、D四列

如果D的值是1,则修改A字段的值
如果D的值是2,则修改B字段的值
如果D的值是3,则修改C字段的值

这个要怎么实现呢?

用代码块功能插入代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

一张表中有A、B、C、D四列。如果D的值是1,则修改A字段的值等于x。如果D的值是2,则修改B字段的值等于x。如果D的值是3,则修改C字段的值等于x。写一个sql

您可以使用以下 SQL 语句来更新表中的字段值:

UPDATE table_name
SET A = CASE WHEN D = 1 THEN x ELSE A END,
    B = CASE WHEN D = 2 THEN x ELSE B END,
    C = CASE WHEN D = 3 THEN x ELSE C END
WHERE D IN (1, 2, 3)

update table_name set A字段 = 值 where D = 1;
update table_name set B字段 = 值 where D = 2;
update table_name set C字段 = 值 where D = 3;

为啥不多写几个sql呢,是有特殊要求吗