2017-08-18 14 views
-1

システムには、システムに入ってくる各ユーザーごとに固有のユーザーIDを生成するシステムがあります。ユーザーがデバイスを変更すると、同じユーザーに対して新しいIDが作成されます。だから、システムでは、彼らは2人の異なるユーザーですが、実際にはそうではありません。私が一部のユーザーのための電子メールを全部ではない場合、どうすればこれらの2つのIdを一緒にリンクできますか?複数のIDを同じユーザーに属する1つのIDにリンクする

答えて

0

それはあなたが求めているものは不明ですので、それはこの質問に答えることは非常に難しいのですが、私はみます:)

いくつかのバリエーションがあります。

  1. あなたは、事前にあなたのユニークユーザーを知っています識別子、すなわち電子メール。新規ユーザーは、事前にこのユニークなユーザ識別子

    を知らないあなたは、事前にあなたのユニークなユーザ識別子を知っているが、新しいユーザーはこの情報

  2. を通過することなく、登録を完了することができ、登録

  3. 中にシステムにそれを渡す必要があります

まずケースは非常に簡単です - あなたは固有のユーザーID(電子メール)の代わりに一意のIDを生成する必要があります。したがって、登録プロセス中にこの固有の識別子で新しいユーザーと古いユーザーを照合することができます。たとえば、登録時に私のソーシャルアカウントをリンクし、そのメールがすでに使用されているというメッセージを表示しようとします。

第2のケースはより困難です。あなたのユーザーテーブルに電子メールフィールドを追加し、それにインデックスを追加することができます。この場合、単純なクエリを実行して一意でないユーザーを見つけることができます。または、(email、user_id)のような別のマッチテーブルを管理することもできます。あなたはユニークなユーザー識別子(私たちの場合は、電子メール)に関する情報を取得するときに行を追加することができます。この表では

| email  | user_id| 
+----------------+--------+ 
|[email protected]| 1 | 
|[email protected]| 2 | 
|[email protected]| 3 | 
| .............. | ...... | 

:例えば、それは、そのような行を含めることができます。したがって、このテーブルでは、ユーザー一意の識別子(この例の電子メール)を使用して異なる生成ユーザーを照合します。

第3の場合は第1および第2よりも複雑です:)前もって一致テーブルを作成することはできません。あなたはユーザー固有の識別子を知らない。

関連する問題