您的SQL语句已经实现了将固定id的状态变为1,如果有status=1的则变为0,status=0的不做任何操作的需求。

UPDATE git_version 
SET update_time = '{now_time}', 
    status = CASE 
                WHEN id = {version_id} THEN 1 
                WHEN status = 1 THEN 0 
                ELSE status 
            END 
WHERE status <> 2;

在这个SQL语句中,使用了CASE语句来判断条件,根据不同情况进行更新操作。首先将update_time更新为指定的now_time值,然后根据id和status的值来进行状态更新。

  • 如果id等于指定的version_id,则将status更新为1;
  • 如果status等于1,则将status更新为0;
  • 如果status既不等于1也不等于2,则保持原有的status值不变。

最后通过WHERE条件排除status等于2的记录,确保只更新status不等于2的记录

fUPDATE git_version SET update_time = now_timestatus = CASE WHEN id = version_id THEN 1 ELSE 0 END WHERE status 2;目前我想将固定id的状态变为1 如果有status=1的则变为0 status=0的不做任何操作

原文地址: https://www.cveoy.top/t/topic/ihfs 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录