我已删除用户名为 “XXX” 的用户,现在想将另一位用户的用户名改为与已删除用户相同的名称,但无法操作。系统提示“用户名必须唯一”。
如何检查用户名是否已被占用,或是否已彻底删除?
此致
我已删除用户名为 “XXX” 的用户,现在想将另一位用户的用户名改为与已删除用户相同的名称,但无法操作。系统提示“用户名必须唯一”。
如何检查用户名是否已被占用,或是否已彻底删除?
此致
您可以进入管理后台 → 用户 → 按用户名筛选。
或者,您也可以使用 数据浏览器。
是的,我已从管理员→用户中删除了该用户,但之后我无法再使用我已删除的相同用户名。
然后尝试使用 data-explorer 并执行此请求:
SELECT username FROM users WHERE username LIKE '%username%'
可能会提供一些线索。
未找到结果。但当我尝试使用已删除用户的用户名时,系统提示该用户名必须唯一。
其他表中哪里会有该用户名?
我不知道。你尝试使用的用户名是什么?
也许你尝试了一个保留的用户名,但我猜你会收到不同的消息……
另外,之前的用户也不可能选择这个名字 ![]()
以下是检查用户名是否已被占用的代码:
USERNAME_EXISTS_SQL = <<~SQL
(SELECT users.id AS id, true as is_user FROM users
WHERE users.username_lower = :username)
UNION ALL
(SELECT groups.id, false as is_user FROM groups
WHERE lower(groups.name) = :username)
SQL
是任意已删除的用户吗?
编辑:我尝试将用户重命名为与某个组相同的名称,系统提示用户名必须唯一。也许这就是你的问题?
您是否有同名群组?@Canapin 说得对,用户和群组共享同一个命名空间。
不,我没有同名的群组。
另外,我可以在私信中提到已删除用户的用户名。