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

SQLite中如何将Status列非'Absent'值替换为'Present'

修改SQLite中NewDB表的Status列值

你需要用UPDATE语句来修改表中的数据(SELECT仅用于查询,不会改变数据)。针对你的需求,这里提供两种实用写法:

方法一:通过WHERE条件精准更新

这种写法最直观,只修改符合条件的行:

UPDATE NewDB
SET Status = 'Present'
WHERE Status != 'Absent';
  • 说明:UPDATE NewDB 指定要操作的表;SET Status = 'Present' 定义要修改的列和目标值;WHERE Status != 'Absent' 限定仅处理Status不等于'Absent'的行。

方法二:用CASE覆盖所有场景(含NULL值)

如果Status列存在NULL值(未填写的空值),上面的WHERE条件不会处理NULL(因为NULL与任何值比较结果都是未知),这时可以用CASE语句覆盖所有情况:

UPDATE NewDB
SET Status = CASE
    WHEN Status = 'Absent' THEN 'Absent'  -- 保持'Absent'值不变
    ELSE 'Present'                       -- 其他所有情况(包括NULL)改为'Present'
END;
  • 说明:CASE语句会逐行判断Status的值,匹配WHEN条件则返回对应值,否则执行ELSE逻辑,确保所有非'Absent'的情况都被修改。

新手注意事项

  • 执行修改前,建议先查询验证目标行:
    SELECT * FROM NewDB WHERE Status != 'Absent'; -- 查看哪些行会被修改
    
  • 怕误操作的话,可以用事务来保障:
    BEGIN TRANSACTION;
    UPDATE NewDB SET Status = 'Present' WHERE Status != 'Absent';
    -- 确认修改结果无误后提交
    COMMIT;
    -- 如果出错,执行ROLLBACK撤销所有修改
    -- ROLLBACK;
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 19:05:28