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自增表示 , 当插入语句自带值时 , 只要不重复 , 就可以插入 . 后面会在此值的基础上继续自增 .