大家好,我想确保用户名是唯一的!
首先,我获取用户名并检查是否已存在。如果没有将它们添加到数据库中,但如果使用了用户名,我将在其后面添加数字。
示例:JoshSmith, JoshSmith1
如果没有用户名,则用户仍然使用id
版本。我会在那里得到名字和姓氏。然后重复上述步骤。
问题:如果JoshSmith
被采用,我会在其后面添加数字,但是如果JoshSmith1
也被采用。
如果我使用
SELECT count(*) FROM users WHERE username LIKE '%JoshSmith%'
它将返回JoshSmithing
之类的名称,这是错误的。如果我使用
MATCH () AGAINST ()
返回相同的结果。
首先,我想计算用户名存在的次数并添加数字+ 1
JoshSmith14
但这是错误的。
答案 0 :(得分:0)
您可以使用regular expressions过滤JoshSmith [数字]并查找最大数字。但是,对我来说,这是一种糟糕的方式,因为您将对数据库服务器进行大量加载。我认为在一些表中存储计数会更好(特别是如果正确的数字对你很重要)。