跳到主要内容
跳到主要内容

UUID

一个通用唯一标识符(UUID)是一个用于标识记录的16字节值。有关UUID的详细信息,请参见 Wikipedia

虽然存在不同的UUID变体(请参见 这里),但ClickHouse并不验证插入的UUID是否符合特定的变体。 UUID在内部被视为具有8-4-4-4-12表示法的16个随机字节序列,在SQL级别进行处理。

示例UUID值:

默认的UUID是全零。它在插入新记录但未指定UUID列值时使用,例如:

由于历史原因,UUID按其后半部分进行排序。 因此,UUID不应直接用于表的主键、排序键或分区键中。

示例:

结果:

作为替代方案,可以将UUID转换为具有直观排序顺序的类型。

使用转换为UInt128的示例:

结果:

生成UUID

ClickHouse提供了 generateUUIDv4 函数,用于生成随机的UUID版本4值。

使用示例

示例 1

此示例演示了创建一个带有UUID列的表并向该表插入值。

结果:

示例 2

在这个示例中,当记录被插入时,没有指定UUID列的值,即插入默认的UUID值:

限制

UUID数据类型仅支持字符串数据类型也支持的函数(例如,minmaxcount)。

UUID数据类型不支持算术操作(例如,abs)或聚合函数,如sumavg