我需要一个或两个唯一键索引用于此表吗?
问题描述:
我想创建一个只有OpenId注册的用户表,完全像StackOverflow。我需要一个或两个唯一键索引用于此表吗?
我存储在表
- OpenID标识符(他们的登录名)
- 别名(这是显示名称展现给公众)
- 一些其他OpenID的东西
所以...我想确保系统中只有一个用户具有openId标识符和一个别名。
当然,我可以随时更改我的别名。我也可以随时更改我的openId标识符。我需要确保这些是唯一的/只存在一次。
SO ...我是否为表格创建了两个唯一键索引,或者是其中有两个字段的唯一键索引?
干杯:)
答
其中每一个。
如果您只创建一个包含两个不同OpenID的用户,可以为 - examlpe - 两个具有相同别名的用户创建一个。
但是:
- 我建议,您创建一个用户表和其他OpenID的表,允许用户多于一个的OpenID与其帐户链接。比方说,他们在雅虎有一个OpenID,在MyOpenID有另一个。如果 - 由于任何原因 - 雅虎决定关闭它的OpenID服务,该人仍然可以使用他的MyOpenID登录进行登录。那么,只要他早些时候在他的账户上注册了这个ID。
答
做出两个唯一的键。否则,相同的openid可以有多个用户关联。
我读过很多关于有多个openId的用户,但我不打算这样做,因为我不想提供这个能力。这增加了我不想要的复杂性。如果你需要合并,他们可以发邮件给支持:P – 2008-12-07 11:40:44