0

大家好,我想确保用户名是唯一的!

首先我得到用户名并检查是否已经存在。如果不将它们添加到数据库中,但如果使用用户名,我将在其后面添加数字。

例子:JoshSmith, JoshSmith1

如果没有用户名,用户仍然使用该id版本。我会到达那里的名字和姓氏。然后重复上述步骤。

问题:如果JoshSmith被占用,我会在它后面添加数字,但如果JoshSmith1也被占用。

如果我使用

SELECT count(*) FROM users WHERE username LIKE '%JoshSmith%'

它会返回类似的名称JoshSmithing,这是错误的。如果我使用

MATCH () AGAINST ()

返回相同的结果。

首先我想计算用户名存在多少次并添加数字+1

JoshSmith14

但这将是错误的。

4

1 回答 1

0

您可以使用正则表达式过滤 JoshSmith[numbers] 并找到最大的数字。但是,就我而言,这是一种不好的方式,因为您的数据库服务器将有很多负载。我认为将计数存储在某个表中会更好(特别是如果正确的数字对您很重要)。

于 2012-09-09T12:49:41.220 回答