UUID函数
UUID函数表示可以用于生成UUID类型数据的函数。
uuid_generate_v1()
描述:生成一个UUID类型的序列号。
返回类型:UUID
示例:
1 2 3 4 5 |
SELECT uuid_generate_v1(); uuid_generate_v1 -------------------------------------- c71ceaca-a175-11e9-a920-797ff7000001 (1 row) |

uuid_generate_v1函数根据时间信息、集群节点编号和生成该序列的线程号生成UUID,该UUID在单个集群内是全局唯一的,但在多个集群间的时间信息、集群节点编号、线程号和时钟序列仍然存在同时相等的可能性,因此多个集群间生成的UUID仍然存在极低概率的重复风险。
uuid()
描述:生成一个UUID类型的序列号。此函数为MySQL兼容性函数,仅8.2.0及以上集群版本支持。
返回类型:UUID
示例:
1 2 3 4 5 |
SELECT uuid(); uuid ---------------------------------- 6327dc96-f0e7-0100-f2f2-6c9ff700fffe (1 row) |

uuid函数内部生成原理同uuid_generate_v1()函数,即根据时间信息、集群节点编号和生成该序列的线程号生成UUID,该UUID在单个集群内是全局唯一的,但在多个集群间的时间信息、集群节点编号、线程号和时钟序列仍然存在同时相等的可能性,因此多个集群间生成的UUID仍然存在极低概率的重复风险。
sys_guid()
描述:生成Oracle的GUID序列号,类似UUID。此函数为Oracle兼容性函数。
返回类型:text
示例:
1 2 3 4 5 |
SELECT sys_guid(); sys_guid ---------------------------------- 4EBD3C74A17A11E9A1BF797FF7000001 (1 row) |

sys_guid函数内部生成原理同uuid_generate_v1函数。