处理SFTP服务器上已离职用户,设置为登录禁用状态

测试用户禁用SQL

select Enabled,LoginID from suusers where LoginID = 'yangwl'

update suusers set Enabled=1 where LoginID = 'yangwl'

查询禅道已删除用户,导出禅道已deleted用户

select account from zt_user where deleted = '1'

创建禅道关联表查询备用表
CREATE TABLE IF NOT EXISTS zt_user (
   account VARCHAR(255)  NOT NULL
) ;

关联表查询SFTP用户数据库

select * from zt_user right join suusers on zt_user.account = suusers.LoginID 

查询数据表

select * from zt_user left join suusers on zt_user.account = suusers.LoginID where suusers.LoginID is not null 

更新SFTP数据库 - 报错-原因:不能先select出同一表中的某些值,再update这个表(在同一语句中)

update suusers set Enabled=0 where LoginID in (select LoginID from zt_user left join suusers on zt_user.account = suusers.LoginID where suusers.LoginID is not null)

解决:

创建临时表:

create table tmp as select LoginID from zt_user left join suusers on zt_user.account = suusers.LoginID where suusers.LoginID is not null
更新SFTP用户数据库及表
update suusers set Enabled=0 where LoginID in (select LoginID from tmp)

验证,更新完成

原文地址:https://www.cnblogs.com/YatHo/p/6924883.html