【发布时间】:2014-05-04 00:03:05
【问题描述】:
关于以下案例的最佳实践的简单问题。
使用帐户开发网站。网站已设置为没有两个帐户可以拥有相同的用户名,即所有用户名都是唯一的。
在数据库中持久化帐户时,是否可以将用户名用作主键(唯一标识符),或者是否有一些我应该知道的原因需要单独生成的唯一 ID?
【问题讨论】:
关于以下案例的最佳实践的简单问题。
使用帐户开发网站。网站已设置为没有两个帐户可以拥有相同的用户名,即所有用户名都是唯一的。
在数据库中持久化帐户时,是否可以将用户名用作主键(唯一标识符),或者是否有一些我应该知道的原因需要单独生成的唯一 ID?
【问题讨论】:
不要使用用户名作为主键,从不。
使用代理键(即自动生成的数字),因为
更新:如果是分布式系统,请使用 GUID
【讨论】:
username 用于登录(因此应该是唯一的),我会将历史记录存储在另一个表中,这样我就可以获得唯一键约束的安全性.如果不是,如果它是某种标签,那么没关系。