MySQL批量更新CASE WHEN THEN(多条件,多字段)

本文介绍了如何在MySQL中使用CASE WHEN THEN语句进行复杂的批量更新操作,针对t_user表进行多条件和多字段的更新。通过案例展示具体的更新步骤和语法,帮助读者理解并掌握这种高级更新技巧。
摘要由CSDN通过智能技术生成

测试表:t_user表
在这里插入图片描述
批量更新

UPDATE
  t_user
SET
  create_time = NOW(),
  NAME = (
    CASE
      WHEN user_id = 10
      THEN 'xiaoming'
      WHEN user_id = 11
      <
MySQL中,`CASE WHEN`语句用于条件判断并返回基于特定条件的值。它可以用于单个字段,但在处理多个字段或需要复杂条件查询时,通常我们使用的是`IF()`函数或者是结合`UNION`这样的操作,而不是直接将多个`WHEN`子句应用于多个字段。以下是针对单个字段的例子: ```sql SELECT column_name, IF(column_name > some_value, 'Higher', 'Lower') AS comparison_result FROM table_name; ``` 如果你想根据几个条件对数据进行分段,并生成多个结果集,可以考虑使用`UNION`来组合查询结果: ```sql SELECT field1, field2 FROM ( SELECT field1, field2, 'ConditionA' FROM your_table WHERE condition_for_A ) a UNION ALL SELECT field1, field2 FROM ( SELECT field1, field2, 'ConditionB' FROM your_table WHERE condition_for_B ) b UNION ALL SELECT field1, field2 FROM ( SELECT field1, field2, 'DefaultCondition' FROM your_table ); ``` 在这个例子中,每个内部查询都只包含满足特定条件的记录,并附上相应的标签(如 'ConditionA'、'ConditionB' 或 'DefaultCondition'),外部查询通过 `UNION ALL` 来合并这些结果。 如果你是在问如何在单一查询中应用多条件判断到多个字段,通常的做法会涉及更复杂的逻辑构建,这可能包括使用多个`CASE WHEN`语句或结合其他聚合函数等。例如,假设你需要根据两个字段的不同情况来计算总分: ```sql SELECT column1, column2, CASE WHEN column1 > 50 AND column2 > 50 THEN (column1 + column2) WHEN column1 > 50 THEN column1 * 2 ELSE column2 * 2 END as total_score FROM your_table; ``` 这个示例中,`CASE`语句根据`column1`和`column2`的值进行不同的计算规则。请注意,实际的应用场景可能会要求更精确的逻辑设计,上述内容仅供参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值