slug: /zh/sql-reference/data-types/uuid sidebar_position: 46

sidebar_label: UUID

UUID {#uuid-data-type}

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

UUID类型值的示例如下:

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

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

  1. 00000000-0000-0000-0000-000000000000

如何生成 {#how-to-generate}

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

用法示例 {#usage-example}

示例1

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

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

示例2

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

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

限制 {#restrictions}

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

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