已删除用户名,但无法在其他用户中使用该用户名

我已删除用户名为 “XXX” 的用户,现在想将另一位用户的用户名改为与已删除用户相同的名称,但无法操作。系统提示“用户名必须唯一”。

如何检查用户名是否已被占用,或是否已彻底删除?

此致

您可以进入管理后台 → 用户 → 按用户名筛选。
或者,您也可以使用 数据浏览器

是的,我已从管理员→用户中删除了该用户,但之后我无法再使用我已删除的相同用户名。

然后尝试使用 data-explorer 并执行此请求:

SELECT username FROM users WHERE username LIKE '%username%' 

可能会提供一些线索。

未找到结果。但当我尝试使用已删除用户的用户名时,系统提示该用户名必须唯一。

其他表中哪里会有该用户名?

我不知道。你尝试使用的用户名是什么?
也许你尝试了一个保留的用户名,但我猜你会收到不同的消息……
另外,之前的用户也不可能选择这个名字 :man_shrugging:t6:

以下是检查用户名是否已被占用的代码:

  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 说得对,用户和群组共享同一个命名空间。

不,我没有同名的群组。

另外,我可以在私信中提到已删除用户的用户名。