ホームページ  >  記事  >  バックエンド開発  >  CSDN ID はどのように生成されますか?

CSDN ID はどのように生成されますか?

WBOY
WBOYオリジナル
2016-06-23 14:24:591177ブラウズ

サードパーティを使用してログインすると、CSDN ID が生成されます: u012365644

この ID はどのように生成されますか?絶対に一人だけ?


ディスカッションへの返信(解決策)

データベース内のIDの自動増加を考慮できます。

理論的には絶対に一意であり、生成方法は自動インクリメントである必要があります (この番号付けルールは通常、自分で定義します)

データベース内の ID の自動増加を考慮できます。

あ、実は私もそう思いました!

ユーザー テーブルには一意のフィールド アカウントがあります。
サードパーティアカウントがログインすると、ランダムなアカウントsubstr('U'.$uid.uniqid(rand()),0,10)が登録・生成されますが、$uidはどうやって取得するのでしょうか?


データベース内の ID は自動的に増加すると考えることができます。

あ、実は私もそう思いました!

ユーザー テーブルには一意のフィールド アカウントがあります。
サードパーティアカウントがログインすると、ランダムなアカウントsubstr('U'.$uid.uniqid(rand()),0,10)が登録・生成されますが、$uidはどうやって取得するのでしょうか?

サードパーティログインの場合、情報は初めてローカルに保存されます。このとき、ユーザーレコード項目を追加する必要があります



データベース内の ID の自動増加を考慮できます。

あ、実は私もそう思いました!

ユーザー テーブルには一意のフィールド アカウントがあります。
サードパーティアカウントがログインすると、ランダムなアカウントsubstr('U'.$uid.uniqid(rand()),0,10)が登録・生成されますが、$uidはどうやって取得するのでしょうか?

サードパーティのログインの場合、情報は初めてローカルに保存されます

これが私が行うことです:
1. user テーブルと user_platform サードパーティ。アカウント バインディング テーブル
2. user_platform テーブルには、id (自動インクリメント)、uid (user テーブルのユーザー uid に対応)、type (qq などのサードパーティのロゴ)、openid (サードパーティは一意の ID を返します) が含まれます。 )
3. サードパーティのアカウント番号が一度ログインすると、まず user テーブルにアカウントが作成され、アカウントが正常に作成された後、バインディング レコードが user_platform テーブルに書き込まれます。作成したユーザーのuidとopenidが記録されます

注文と同じなので、新しいユーザーアカウントを作成するときは、最初にuidを取得する必要があります。これは私の考えです。サードパーティでログインするのは初めてでした。

これを行うのは初めてで、この考えが正しいかどうかはわかりません

ID は非常に悪いのでまだ変更できないと言いました

理論的には絶対にユニークであり、生成方法は自動インクリメントである必要があります (この種の番号付けのルールは一般に自己インクリメントです) が定義されています)
これは私が持っているものです:
1. ユーザー テーブル、user_platform サードパーティ アカウント バインディング テーブル
2. user_platformテーブルには ID (独自に増加)、uid (ユーザー テーブル内のユーザー uid に対応)、タイプ (qq などのサードパーティの署名)、openid (サードパーティは一意の ID を返します) があります
3.パーティのアカウントが初めてログインすると、アカウントが最初に user テーブルに作成され、アカウントが正常に作成されると、バインディング レコードが書き込まれます。つまり、新しく作成されたユーザー uid が記録されます。 openid

順序により、新しいユーザー アカウントを作成するときは、最初に uid を取得する必要があります。これは私のアイデアです。どうやってやったのですか? サードパーティのログインを行うのは初めてです

mysql には一意性を確保するための自動拡張フィールドがあります

これは識別列ではなく自動拡張機能である必要があります

mysql には自動拡張機能があります 拡張フィールドによって一意性が保証されます
しかし、データを挿入するときに、最初に自動インクリメントされる uid をどうやって知ることができますか?


MySQL には一意性を保証するための自動拡張フィールドがあります
しかし、データを挿入するときに、どうやってそれを知るのでしょうか?自動インクリメントする uid を最初に挿入しますか? データが成功すると、現在の自動インクリメントされる ID を返すことができます。


MySQL には一意性を確保するために自動増加するフィールドがあります
しかし、データを挿入するとき、最初に自動増加する UID をどのようにして知るのでしょうか?
データが正常に挿入された場合は、現在の自動増加する ID を返すだけです。

データが正常に挿入されれば、ID は必要ありません。レコードを挿入するときに、生成されたアカウント フィールドが一意であることを確認するにはどうすればよいですか (uid が増加する場合)。

uid は自動的に増加するため、生成されたアカウントが一意になるように uid+string を使用したいと考えています。

この方法で自動インクリメントされる uid を取得できない場合は、別の update ステートメントを記述するしかありません。

CSDN はユーザーのデータベースを分割している必要があるため、複数のライブラリに同様の UID が存在し、ユーザーの UID はランダムである必要がありますが、このランダムなものはより複雑です

自動的には増加しませんCSDN はこのようにしてユーザーのデータベースを分割している必要があるため、ユーザーの uid はランダムである必要があります


ああ、tks

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。