Skip to main content

UUID

通用唯一标识符(UUID)是一个16字节的数字,用于标识记录。有关UUID的详细信息, 参见维基百科

UUID类型值的示例如下:

61f0c404-5cb3-11e7-907b-a6006ad3dba0

如果在插入新记录时未指定UUID列的值,则UUID值将用零填充:

00000000-0000-0000-0000-000000000000

如何生成

要生成UUID值,ClickHouse提供了 generateuidv4 函数。

用法示例

示例1

这个例子演示了创建一个具有UUID类型列的表,并在表中插入一个值。

CREATE TABLE t_uuid (x UUID, y String) ENGINE=TinyLog
INSERT INTO t_uuid SELECT generateUUIDv4(), 'Example 1'
SELECT * FROM t_uuid
┌────────────────────────────────────x─┬─y─────────┐
│ 417ddc5d-e556-4d27-95dd-a34d84e46a50 │ Example 1 │
└──────────────────────────────────────┴───────────┘

示例2

在这个示例中,插入新记录时未指定UUID列的值。

INSERT INTO t_uuid (y) VALUES ('Example 2')
SELECT * FROM t_uuid
┌────────────────────────────────────x─┬─y─────────┐
│ 417ddc5d-e556-4d27-95dd-a34d84e46a50 │ Example 1 │
│ 00000000-0000-0000-0000-000000000000 │ Example 2 │
└──────────────────────────────────────┴───────────┘

限制

UUID数据类型只支持 字符串 数据类型也支持的函数(比如, min, max, 和 count)。

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