我需要一个或两个唯一键索引用于此表吗?

问题描述:

我想创建一个只有OpenId注册的用户表,完全像*。我需要一个或两个唯一键索引用于此表吗?

我存储在表

  • OpenID标识符(他们的登录名)
  • 别名(这是显示名称展现给公众)
  • 一些其他OpenID的东西

所以...我想确保系统中只有一个用户具有openId标识符和一个别名。

当然,我可以随时更改我的别名。我也可以随时更改我的openId标识符。我需要确保这些是唯一的/只存在一次。

SO ...我是否为表格创建了两个唯一键索引,或者是其中有两个字段的唯一键索引?

干杯:)

其中每一个。

如果您只创建一个包含两个不同OpenID的用户,可以为 - examlpe - 两个具有相同别名的用户创建一个。

但是:

  • 我建议,您创建一个用户表和其他OpenID的表,允许用户多于一个的OpenID与其帐户链接。比方说,他们在雅虎有一个OpenID,在MyOpenID有另一个。如果 - 由于任何原因 - 雅虎决定关闭它的OpenID服务,该人仍然可以使用他的MyOpenID登录进行登录。那么,只要他早些时候在他的账户上注册了这个ID。
+0

我读过很多关于有多个openId的用户,但我不打算这样做,因为我不想提供这个能力。这增加了我不想要的复杂性。如果你需要合并,他们可以发邮件给支持:P – 2008-12-07 11:40:44

做出两个唯一的键。否则,相同的openid可以有多个用户关联。