DB2 SQL Error: SQLCODE = -798, SQLSTATE = 428C9

DB2 SQL Error: SQLCODE = -798, SQLSTATE = 428C9报错是因为 , 你往设置了ALWAYS自增的列里面插了初始值 . 

ALWAYS自增设置如下.

-- 设置主键自增
Alter table <tableName>  alter column <ID> set generated 
always as identity (start with 1,increment by 1);

所以要改成DEFAULT , 但更改之前请确认是否已经设置ALWAYS , 如果设置了 , 需要把自增删除 , 语句如下 .

-- 删除自增
ALTER TABLE <tableName> alter column <ID> DROP IDENTITY;

清楚自增之后 , 可以重新设置DEFAULT自增

-- 设置默认值自增
Alter table <tableName> alter column <ID> set generated 
BY DEFAULT as identity (start with 1,increment by 1);

DEFAULT自增表示 , 当插入语句自带值时 , 只要不重复 , 就可以插入 . 后面会在此值的基础上继续自增 .

posted @ 2018-08-02 16:15  EmbraceU  阅读(2415)  评论(0编辑  收藏  举报