如何在ClickHouse中自动增加?

时间:2018-10-16 04:25:51

标签: sql clickhouse

我希望一列在每次插入中都具有唯一值。在SQL中,我们可以使用自动增量功能来实现此功能,在Clickhouse中,我们可以使用诸如自动增量或其他任何类型的功能来实现此功能吗?我是Clickhouse的新手,所以可能有术语错误。

2 个答案:

答案 0 :(得分:2)

如果需要唯一值,请使用UUID。它works much better for distributed systems不仅仅是自动增加的值

因此您只需生成随机Uint64并将其转换为UUID

SELECT toUUID(rand64());

插入后,外观与此类似

INSERT INTO VALUES (toUUID(rand64()), ...);

答案 1 :(得分:0)

ClickHouse 中没有服务器提供的自动增量。

正如其他答案所述,UUID 是要走的路。

改为使用 generateUUIDv4()(参见文档 here

样本输出

SELECT generateUUIDv4();

插入时使用

INSERT INTO t VALUES (generateUUIDv4(), ...);