【发布时间】:2015-11-12 00:27:15
【问题描述】:
我有下表
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。那时会发生什么?
【问题讨论】:
-
即使那个东西以百万计(这里以十万计)并且从未以小于一百万的数字迭代,您也不会用完数字。就像......即使数到 100 万,你仍然有 1 万亿个数字要处理。
-
谢谢。那讲得通。但我还是不明白为什么要这样做?如果它现在增加 100K,谁知道它明天可能会开始增加 100B。 Teradata 如何确定增量值?是随机的吗?
-
还有
INCREMENT BY 1有什么用。 . .这个命令(如果你愿意的话)有什么不同吗
标签: teradata