如何生成备用用户名建议?

时间:2011-03-18 09:45:18

标签: language-agnostic

提前为问题标题道歉,我想不出更好的方式来表达它。

在某些电子邮件系统(比如Yahoo)中,如果您想要一个名称,系统会在最后添加一个数字来建议名称(例如,如果 CloudStrife 被采用,那么你获取 CloudStrife01 )。

在实现这样的系统时,如何检测有多少重复名称(如果有 CloudStrife CloudStrife01 CloudStrife02 ,应该有3个 CloudStrife 实例。除了存储重复数量之外,还有哪些其他解决方案?

4 个答案:

答案 0 :(得分:2)

副本的数量无论如何都无济于事,想象一下会有CloudStrife,你建议用户使用CloudStrife01,但他选择了CloudStrife02。所以你有两个CloudStrifes但仍然没有CloudStrife02。您应该始终检查数据库。可能如果取名,请选择与任何后缀相同的名称,然后选择并建议不在该集合中的名称。

答案 1 :(得分:1)

我会使用模式匹配选择所有用户名。

SELECT username FROM users WHERE username LIKE 'CloudStrife%'

现在我们获得所有以CloudStrife开头的用户名,因此我们不必再进行另一个数据库查询,只是为了检查我们要推荐的名称是否被采用。

答案 2 :(得分:0)

创建2或3个标准,例如在结尾追加出生日期,最后添加姓氏,更改姓名和建议之前的顺序(如果已存在)

答案 3 :(得分:0)

如果用户名不可用:

从所选用户名的末尾删除任何数字。将整数初始化为1,然后将此整数连接到用户名存根的末尾。

如果还使用此用户名,请递增整数并重复连接/检查过程。