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

转载于:https://www.cnblogs.com/embraceU/p/9407822.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值