MySQL UUID() 函数使用指南

MySQL UUID() 函数根据 RFC 4122 生成一个通用唯一标识符(UUID)并返回。

UUID 是一个全局唯一的值。任何两次对 UUID() 函数的调用都应该生成不同的值。

UUID() 语法

这里是 MySQL UUID() 函数的语法:

UUID()

参数

MySQL UUID() 函数没有任何参数。

返回值

MySQL UUID() 函数返回一个根据 RFC 4122 生成的通用唯一标识符(UUID)。

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

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

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

  • 第五个数字是 IEEE 802 节点号,它提供空间唯一性。如果后者不可用(例如,因为主机设备没有以太网卡,或者不知道如何在主机操作系统上找到接口的硬件地址),则用随机数代替。在这种情况下,无法保证空间唯一性。然而,碰撞的概率应该 非常低

    接口的 MAC 地址仅在 FreeBSD、Linux 和 Windows 上被使用。在其他操作系统上,MySQL 使用随机生成的 48 位数字。

请使用 UUID_TO_BIN()BIN_TO_UUID() 函数以在 UUID 的字符串值和二进制值之间进行转换。

请使用 IS_UUID 函数检查一个字符串是否为有效的 UUID 值。

UUID() 示例

这里展示了 MySQL UUID() 函数的基本用法。

SELECT UUID();
+--------------------------------------+
| UUID()                               |
+--------------------------------------+
| d114115a-ce6a-11ec-8607-63ec778e6346 |
+--------------------------------------+