如何在MySQL中实现“全局唯一ID”


How to implement a ‘Globally Unique IDs’ in MySQL?

如何复制Facebook为大量资源分配的唯一ID?请参阅:https://developers.facebook.com/docs/reference/api/

在Facebook上,每张照片,人物,事件,页面都有一个唯一的ID。

如果我想让每个页面都有一个唯一的 ID,我需要做的就是有一个带有自动递增的 ID 的页表。但这不是我想要实现的,我想实现一个像Facebook这样的系统,其中每个对象("资源")都有一个唯一的ID。

MySQL有一个UUID函数;UUID 是生成此类唯一密钥的普遍接受方式。

也就是说,使用 MySQL 的 UUID 函数将与基于语句的复制发生冲突;如果您当前或将来可能使用这种复制方法,请考虑使用您的语言提供的任何 UUID 生成机制。由于UUID是一种标准,任何合理的编程语言都将有一个机制来生成它们;例如,对于Python,这是uuid模块。对于 PHP,标准库中有一个 uniqid 函数,尽管这不是符合标准的 UUID。

您可能会看到这个问题,直接用于从 PHP 生成符合标准的 UUID。