生成唯一的上升ID

时间:2012-07-26 09:20:16

标签: php mysql

我正在寻找一个关于生成像Google+或Facebook这样的独特大ID的良好做法 现有问题是一个回合产生一个唯一的ID而不是一个上升的(uniqid()是一个很好的方法)。
当用户注册时,我们可能会依赖于时间戳time()等基本上升的东西,或者用户表$id的ID,可能是:

  • ID = time() - 123456789 + $id
  • 或者只是用户表的ID,例如$id + 123456789
    如果我们总是添加相同的常数整数,我们就不会发生冲突。

我们无法使用uniqid()生成上升ID 并且要使数据库的自动递增步骤超过1,并不足以在所有情况下都有一个大整数。 你有什么建议?

1 个答案:

答案 0 :(得分:2)

您可能希望看一下这个解释如何在PHP here中生成v4 UUID或者看一下这篇文章的答案,该帖子通过creating unique IDs in PHP的4种方式(其中一些涉及uniqid) ()虽然)