tluck_ 2022-12-07 15:48 采纳率: 100%
浏览 28
已结题

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

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

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

这个要怎么实现呢?

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

3条回答 默认 最新

  • tluck_ 2022-12-07 16:39
    关注

    一张表中有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)
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月15日
  • 已采纳回答 12月7日
  • 创建了问题 12月7日