如何创建不是主键的唯一公共ID列

时间:2013-07-17 12:23:23

标签: sql web primary-key

我在某处读到在线使用db表的主键作为公共标识符是不好的。但是,我希望我的用户链接到表中的特定对象。

如何为我的表创建一个与主键无关的唯一标识符列(这是一个自动增量整数)?

我最初的想法是使用php脚本生成适当长度的随机十六进制值(我认为最多会有10万到20万个项目),然后插入它们。但后来我不知道它是否会独一无二......

1 个答案:

答案 0 :(得分:0)

您可以使用GUID(全局唯一标识符)来唯一标识记录。可能的GUID数量如此之高,重复一个GUID的可能性几乎为零。同样,有人猜测GUID的可能性很低,通常可以安全地显示给用户(例如www.yoursite.com?id=21EC20203AEA1069A2DD08002B30309D)。

如果您使用的是php,则可以使用com_create_guid method。 *注意:此方法仅在PHP5中受支持。对于PHP4,请查看uniqueid