Help wanted!

The following content of this documentation page has been machine-translated. But unlike other websites, it is not done on the fly. This translated text lives on GitHub repository alongside main ClickHouse codebase and waits for fellow native speakers to make it more human-readable. You can also use the original English version as a reference.

Help ClickHouse documentation by editing this page

UUID

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

UUID类型值的示例如下所示:

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

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

  1. 00000000-0000-0000-0000-000000000000

如何生成

要生成UUID值,ClickHouse提供了 generateuidv4 功能。

用法示例

示例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. └──────────────────────────────────────┴───────────┘

限制

UUID数据类型仅支持以下功能 字符串 数据类型也支持(例如, min, max,和 计数).

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

原始文章