UUID 返回通用唯一标识符

返回根据 RFC4122 生成的通用唯一标识符(UUID)URN 命名空间(http://www.ietf.org/rfc/rfc4122.txt)。

UUID 被设计为在空间和时间上全球唯一的数字。对 UUID() 的两次调用预计会生成两个不同的值,即使这些调用是在两个未相互连接的单独设备上执行的。

注意:

尽管 UUID() 值旨在是唯一的,但它们不一定是不可猜测或不可预测的。如果需要不可预测性,则应以其他方式生成 UUID 值。

UUID() 返回一个符合 RFC 4122 中描述的 UUID 版本 1 的值。该值是一个 128 位数字,表示为 aaaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee 格式的五个十六进制数字的 utf8 字符串:

  • 前三个数字是从时间戳的低、中和高部分生成的。高位部分还包括 UUID 版本号。

  • 第四个数字保留时间唯一性,以防时间戳值失去单调性(例如,由于夏令时)。

  • 第五个数字是提供空间唯一性的 IEEE 802 节点编号。如果后者不可用(例如,因为主机设备没有以太网卡,或者不知道如何在主机操作系统上找到接口的硬件地址),则替换为随机数。在这种情况下,无法保证空间唯一性。然而,碰撞的概率应该很低。仅在 FreeBSD、Linux 和 Windows 上考虑接口的 MAC 地址。在其他操作系统上,MySQL 使用随机生成的 48 位数字。

语法说明

UUID()

示例用法

mysql> select UUID();
+--------------------------------------+
| UUID()                               |
+--------------------------------------+
| 870907b6-0996-11ed-aba0-68f728833166 |
+--------------------------------------+
1 row in set (0.06 sec)
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号