原因代码=“1”.. SQLCODE = -846,SQLSTATE = 42815

时间:2015-08-10 12:28:57

标签: db2 sequence auto-increment

create TABLE STUDENT_TEMP
(
    USER_ID VARCHAR(10) NOT NULL GENERATED ALWAYS AS IDENTITY 
             (START WITH 1 INCREMENT BY 1 MINVALUE 1 NO MAXVALUE NO CYCLE NO CACHE ORDER),
    USER_NAME VARCHAR(50) NOT NULL,
    CITY VARCHAR(20),
    PRIMARY KEY  (USER_ID)
 );

我想在db2中插入带序列的自动增量列。 尝试使用来自ibm网站的此代码。 但是还没有正确的代码。

1 个答案:

答案 0 :(得分:2)

将USER_ID更改为整数或其他数字数据类型,因为VARCHAR不是标识列支持的数据类型。

create TABLE STUDENT_TEMP ( USER_ID int NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1 MINVALUE 1 NO MAXVALUE NO CYCLE NO CACHE ORDER), USER_NAME VARCHAR(50) NOT NULL, CITY VARCHAR(20), PRIMARY KEY (USER_ID) );