我有一个系统,我想为进入系统的每个用户生成唯一的用户ID。如果用户更改设备,则为该用户开发新的Id。因此,在系统中,它们是两个不同的用户,但实际上,它们不是。如果我有一些用户的电子邮件而不是所有用户,我如何将这两个ID连接在一起?
答案 0 :(得分:0)
很难回答这个问题,因为你不清楚你在问什么,但我会尝试:)
有一些变种:
您事先知道您的唯一用户标识符,即电子邮件。新用户应在注册期间将其传递给系统
您事先知道您的唯一用户标识符,但新用户可以在不传递此信息的情况下完成注册
您事先并不知道此唯一用户标识
第一种情况非常简单 - 您应该使用唯一的用户ID(电子邮件)而不是生成的唯一ID。因此,您可以在注册过程中通过此唯一标识符匹配新用户和旧用户。例如,我尝试在注册期间链接我的社交帐户,并收到已经使用过此类电子邮件的消息。
第二种情况比较困难 - 您可以在用户表中添加电子邮件字段并在其上添加索引。在这种情况下,您可以运行简单查询来查找非唯一用户。或者您可以维护单独的匹配表(email,user_id)。例如,它可以包含这样的行:
| email | user_id|
+----------------+--------+
|user@example.com| 1 |
|user@example.com| 2 |
|test@example.com| 3 |
| .............. | ...... |
在此表中,您可以在获取有关唯一用户标识符的信息时添加行(在我们的示例中为电子邮件)。因此,使用此表,您可以通过用户唯一标识符(在我们的案例中为电子邮件)匹配不同的生成用户
第三种情况比第一种情况更复杂:)您无法提前创建任何匹配的表,因为您不知道用户唯一标识符。