You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用单条SQL语句批量翻转students表的status字段值

批量互换students表中status字段的'yes'和'no'值

Got it! 要实现这个status字段的双向互换更新,一条SQL语句就能搞定,这里给你两种实用的写法:

通用跨数据库写法(推荐)

用CASE WHEN表达式,这在绝大多数关系型数据库(比如MySQL、PostgreSQL、SQL Server等)都能正常运行,还能兼容其他可能存在的status值:

UPDATE students
SET status = CASE 
    WHEN status = 'yes' THEN 'no'
    WHEN status = 'no' THEN 'yes'
    ELSE status  -- 如果表中还有其他status值,这行可以保留它们不变
END;

MySQL专属简洁写法

如果你用的是MySQL,还可以用IF函数来简化代码:

UPDATE students
SET status = IF(status = 'yes', 'no', 'yes');

重要小提醒

  • 执行更新前,强烈建议先跑一条查询语句验证结果,避免误操作:
    SELECT id, name, status,
           CASE WHEN status = 'yes' THEN 'no' WHEN status = 'no' THEN 'yes' ELSE status END AS new_status
    FROM students;
    
  • 如果你的students表中只有'yes'和'no'两种status值,那通用写法里的ELSE status可以省略,但保留它会让代码更健壮,防止后续新增其他状态时出现意外。

内容的提问来源于stack exchange,提问作者Neeraj Prajapati

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:59:59