UUID 数据类型¶
UUID 数据类型用于存储通用唯一标识符 (UUIDs)。UUID 是唯一标识信息的 128 位二进制值。每个 UUID 值为全局唯一,这意味着两个不同的系统几乎不可能各自生成完全相同的 UUID。但是,唯一性取决于 UUID 值的生成方式,并且 Snowflake UUID 数据类型本身不保证唯一性。例如,用户可以准确无误地多次插入相同的 UUID 值。
UUID 值采用 UUID 格式,是 36 个字符的十六进制数字字符串,用连字符分隔,模式为 8-4-4-4-12。例如,f353ca91-4fc5-49f2-9b9e-304f83d11914 是采用 UUID 格式的字符串。
有关 UUID 数据类型的更多信息,请参阅 通用唯一标识符 (link removed) 维基百科文章。
以下注意事项适用于 UUID 数据类型:
Snowflake 驱动程序 将 UUID 值视为文本字符串。
UUID 的 ANSI 字面量形式可以作为输入。
任何版本的 UUID 值都可以插入到表中。
UUID 值不区分大小写。
指定 UUID 数据类型。¶
若要指定 UUID 类型,请使用以下语法:
<column_name> UUID
其中:
column_name是表中列的名称。
UUID 数据类型的限制¶
以下限制适用于 UUID 数据类型:
UUID 数据类型示例¶
以下示例将 UUID 值插入表中:
将 UUID 值插入表中¶
创建具有 UUID 类型的列的表并插入 UUID 值:
CREATE TABLE sample_uuid_table(uuid_col UUID); INSERT INTO sample_uuid_table VALUES ('c73d9175-0a1d-48c6-8d30-df165461328b');
当您向表中插入行时自动生成 UUID 值¶
以下示例展示了当您向表中插入行时如何自动生成 UUID 值:
创建一个表,该表使用 UUID_STRING 函数为插入表中的每行生成 UUID 值:
CREATE OR REPLACE TABLE sample_generate_uuid ( id UUID DEFAULT UUID_STRING() NOT NULL, sample_column VARCHAR);
在表中插入值并省略
id列,以便自动生成并插入 UUID 值:INSERT INTO sample_generate_uuid (sample_column) VALUES ('value_a'), ('value_b');
查询该表以查看生成的 UUID 值:
SELECT * FROM sample_generate_uuid;
+--------------------------------------+---------------+ | ID | SAMPLE_COLUMN | |--------------------------------------+---------------| | f353ca91-4fc5-49f2-9b9e-304f83d11914 | value_a | | da563283-e201-4744-b158-221dd204a61f | value_b | +--------------------------------------+---------------+