Mysql Sql条件更新
我的表有这些列 id+所有者id+安全所有者id+开发者id 这些ID是用户ID,因此一个用户可以拥有所有角色 如果用户被删除,我想将这些列设置为null 差不多 行1:1,2,2和用户id=2被删除,然后更新的行将是1,null,null,nullMysql Sql条件更新,mysql,sql,Mysql,Sql,我的表有这些列 id+所有者id+安全所有者id+开发者id 这些ID是用户ID,因此一个用户可以拥有所有角色 如果用户被删除,我想将这些列设置为null 差不多 行1:1,2,2和用户id=2被删除,然后更新的行将是1,null,null,null 第2行:删除1,2,3,7和user_id=2,然后更新的行将是1,null,3,7。您可以使用条件逻辑: update mytable set owner_id = nullif(owner_id, 2), securit
第2行:删除1,2,3,7和user_id=2,然后更新的行将是1,null,3,7。您可以使用条件逻辑:
update mytable
set owner_id = nullif(owner_id, 2),
security_owner_id = nullif(security_owner_id, 2),
developer_id = nullif(developer_id, 2)
where 2 in (owner_id, security_owner_id, developer_id);
您可以将此逻辑放在触发器、存储过程或应用程序中。请参阅删除集NULL上的
选项