2017-08-18 17 views
-1

我有一個系統,我希望爲每個進入系統的用戶生成唯一的用戶ID。如果用戶更換設備,則爲同一用戶開發新的ID。因此,在系統中,他們是兩個不同的用戶,但事實上,他們不是。如果我有一些電子郵件給一些用戶,而不是全部,我怎麼把這兩個ID連接起來?將多個ID鏈接到屬於同一用戶的一個Ids

回答

0

這是相當困難的,因爲目前還不清楚,你問什麼來回答這個問題,但我會試試:)

有一些變種:

  1. 你事先知道你的獨特用戶標識符,即電子郵件。新用戶註冊應該在它傳遞給系統

  2. 你提前知道你唯一的用戶標識,但新用戶可以完成註冊,而不通過這個信息

  3. 你不事先知道這個獨特的用戶標識符

第一種情況很簡單 - 你應該你的唯一用戶ID(電子郵件),而不是生成的唯一的ID。因此,您可以在註冊過程中通過此唯一標識符來匹配新用戶和舊用戶。例如,我嘗試在註冊期間鏈接我的社交帳戶,並獲取消息,說明此類電子郵件已被使用。

第二種情況比較困難 - 您可以在用戶表中添加電子郵件字段並在其上添加索引。在這種情況下,您可以運行簡單的查詢來查找不唯一的用戶。或者你可以維護單獨的匹配表,它看起來像(email,user_id)。例如,它可以包含這樣的行:

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

在此表中可以添加行,當你得到有關唯一用戶標識符(在本例中的電子郵件)的信息。所以用這個表你已經通過用戶唯一標識符(在本例中的電子郵件)

第三種情況比第一和第二更復雜的你產生不同用戶之間的匹配:)你不能預先創建任何匹配的表,因爲你不知道用戶唯一標識符。