GBase 8a
其他
文章

批量生成唯一标识UUID

发表于2025-12-31 13:19:33126次浏览0个评论

UUID() 函数用于生成全局唯一标识符,为确保全局唯一性的场景提供了可靠的解决方案。但目前8a版本该函数存在每次调用只能生成一个UUID限制,无法满足批量生成的需求,如下图查询只会生成重复UUID

对于必须要批量生成UUID的场景,可拼接实现UUID参考如下:
select CONCAT(
       LPAD(HEX(FLOOR(RAND() * 4294967296)), 8, '0'), '-',
       LPAD(HEX(FLOOR(RAND() * 65536)), 4, '0'), '-',
       LPAD(HEX(FLOOR(RAND() * 4096) + 16384), 4, '0'), '-',
       LPAD(HEX(FLOOR(RAND() * 4096) + 32768), 4, '0'), '-',
       LPAD(HEX(FLOOR(RAND() * 281474976710656)), 12, '0')
   ) AS uuid,t.* from customer t;

评论已关闭