gpt4 book ai didi

teradata - 为什么 Teradata 标识列不增加 1?

转载 作者:行者123 更新时间:2023-12-03 07:20:19 27 4
gpt4 key购买 nike

我有下表

CREATE SET TABLE myTab,FALLBACK,NO BEFORE JOURNAL,NO AFTER JOURNAL,CHECKSUM = DEFAULT,DEFAULT MERGEBLOCKRATIO
(
my_id BIGINT GENERATED ALWAYS AS IDENTITY
(START WITH 1
INCREMENT BY 1
MINVALUE 1
MAXVALUE 922337203685477580
NO CYCLE),
created_by VARCHAR(200) )
UNIQUE PRIMARY INDEX ( my_id );

当我开始插入此表时( INSERT INTO myTab (created_by) VALUES ('test') ,以下是自动生成的 my_id 的值

my_id
1
100,001
100,002
200,001
300,001
400,001
500,001
500,002
600,001

我正在寻找 1,2,3 。 。 。增加 1。我读了 teradata explanation但还是不明白。为什么它会增加一个随机数?这样我就会到达MAXVALUE 922337203685477580不一会儿。那会发生什么?

最佳答案

我相信您正在寻求的解释可以在第 5 章:创建表 Process for Generating Identity Column Numbers 下的 SQL 数据定义语言 - 详细主题中找到。 。标识列并不旨在提供将行加载到表中的准确顺序。

如果您想要一个顺序标识符,您必须在 ETL 中自行维护,结合表中的最大值加上分配给您正在加载的数据集的 ROW_NUMBER()到表中。否则,您可能需要重新考虑您的实现中是否确实需要序列 id/行号。

关于teradata - 为什么 Teradata 标识列不增加 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33653408/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com