我的表格有这些列
id_+owner_id+security_owner_id+_developer_id
这些 ID 是用户 ID,因此一个用户可以拥有所有角色
如果用户被删除,我想将这些列设置为空;
类似的东西
row-1:1,2,2,2 和 user_id=2 已删除,则更新的行将为 1,null,null,null
row-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);
您可以将此逻辑放入触发器或存储过程或您的应用程序中。