我希望一列在每次插入中都具有唯一值。在SQL中,我们可以使用自动增量功能来实现此功能,在Clickhouse中,我们可以使用诸如自动增量或其他任何类型的功能来实现此功能吗?我是Clickhouse的新手,所以可能有术语错误。
答案 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(), ...);