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] をフィルタリングし、最大数を見つけることができます。しかし、私にとっては、DB サーバーに大量の負荷がかかるため、これは悪い方法です。カウントをいくつかのテーブルに保存する方が良いと思います(特に正しい数値が重要な場合)。

于 2012-09-09T12:49:41.220 に答える