MySQL の行の値に基づいて一意の ID を作成する
P粉541796322
P粉541796322 2023-12-27 10:06:21
0
1
346

私は家系図プロジェクト用の Web アプリケーションを作成しています。データベースに追加された各人には、姓の最初の 3 文字 (説明のために「姓文字列」と呼びます) に基づいて、自動インクリメント (00001 からがそれぞれを表します) で一意の ID を持たせたいと考えています。一意の「姓文字列」)。

例 - ある人の姓は「Smith」です。姓の文字列は SMI となり、最初の姓の文字列「SMI」であるため、完全な参照は SMI00001 になります。相手の姓は Black であるため、姓の文字列は BLA になります。また、姓の文字列 BLA を持つ最初の人物であるため、参照は BLA00001 になります。 3 人目の人の姓も Smith です。彼らは SMI 姓文字列を持つ 2 人目の人物であるため、参照番号は SMI00002 になるはずです。

この一意の ID は、データベース内でユーザーを検索し、ユーザー間の関係を作成するためにユーザー URL で使用されます。

この問題を論理的に解決する方法がわかりません。

まだ何も試していません。これは私の想像を超えています!

P粉541796322
P粉541796322

全員に返信(1)
P粉225961749

この方法は大まかです。通常は、データベースの自動インクリメント (番号) を使用するか、md5(time().'randomsalt'.$username) などの一意の ID を自動的に生成する必要があります。

ただし、XXX00000 形式を使用する必要がある場合は、次の関数が必要になります。

    データベースに BLA00001 があるかどうかを確認します
  • 「はい」の場合は、BLA00002 などを確認してください。
  • 「いいえ」の場合は、新しいエントリを作成します
これはしばらくすると非常に遅くなり、各名前が存在する可能性は最大 99999 回になります。その後、BLA を BL1、BL2 などに変更する必要があります。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート