Sql Teradata 15:Failure 7545标识列超出其限制

Sql Teradata 15:Failure 7545标识列超出其限制,sql,teradata,Sql,Teradata,我得到这个Teradata failure 7545标识列超出了它的限制,但我只插入了几百条记录,并且我已经将数据类型从INT更改为BIGINT 这是我的创建表语法,我真的很困惑为什么Teradata不高兴 CREATE TABLE LOCATION ( LOCATION_ID BIGINT GENERATED BY DEFAULT AS IDENTITY (START WITH 1 INCREMENT BY 1 MAXVALUE 1000000)

我得到这个Teradata failure 7545标识列超出了它的限制,但我只插入了几百条记录,并且我已经将数据类型从INT更改为BIGINT

这是我的创建表语法,我真的很困惑为什么Teradata不高兴

CREATE  TABLE LOCATION
(        LOCATION_ID          BIGINT GENERATED BY DEFAULT AS IDENTITY (START WITH  1 INCREMENT BY 1 MAXVALUE     1000000)  ,
     ....

如果您有任何见解,我们将不胜感激

尝试使用“始终”和“无循环”,而不是默认生成。。。 还要检查DBSCONTROL参数27中的IdCol批量大小。 就像在我的例子中,它是10公里,所以,尝试增加它,然后尝试

  • IdCol批量大小=10000

  • 您的定义默认为
    NO CYCLE
    MAXVALUE
    设置为
    1000000
    ,因此无论您使用的是
    INT
    还是
    BIGINT
    ,最大值都是1000000

    Teradata并行分配一个标识,即每个AMP/PE根据
    dbscontrol
    参数
    IdCol批量大小
    请求一系列数字,因此在实际插入一百万行之前将达到1000000


    删除
    MAXVALUE
    ,但保留BIGINT,仅当需要存储多达数百万行时才使用INT…

    以下是一个有效的解决方案:

    我将最大值增加到1亿


    原因是每个放大器都有100000个数字范围。我的2750设备有72安培,所以最小最大值为720万。当我对“最大标识”列值的定义超过720万时,它就起作用了。

    以下内容对我起作用。我最初并不知道删除MAXVALUE意味着什么,所以我想我会和大家分享<代码>行id BIGINT始终作为标识生成(以1个增量乘以1个无周期开始),