DB2 SQL Error: SQLCODE=-803, SQLSTATE=23505, SQLERRMC=1;SLIFE.DATA0005, DRIVER=3

DB2 插入数据到表中时,报如下错误:

DB2 SQL Error: SQLCODE=-803, SQLSTATE=23505, SQLERRMC=1;SLIFE.DATA0005, DRIVER=3

 

SQL如下:

insert into Data0005 (TASK_TYPE_CODE,TASK_TYPE_NAME) values('T0011','飞机票')

经过查看表定义SQL 如下:

CREATE TABLE SLIFE.DATA0005 (
    RKEY                INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1, CACHE 20) NOT NULL,
    TASK_TYPE_CODE      VARCHAR(5) NOT NULL,
    TASK_TYPE_NAME      VARCHAR(50),
    REMARKS             VARCHAR(200),
    SYS_TYPE            INTEGER DEFAULT 1,
    STATUS              INTEGER DEFAULT 1,
    CREATED_DATE        TIMESTAMP DEFAULT CURRENT TIMESTAMP,
    CREATED_USER_PTR    INTEGER,
    UPDATED_TIME        TIMESTAMP DEFAULT CURRENT TIMESTAMP,
    UPDATED_USER_PTR    INTEGER,
    CONSTRAINT PK_RKEY PRIMARY KEY(RKEY)
)
GO
COMMENT ON TABLE SLIFE.DATA0005 IS 'TASK TYPE MASTER'
GO
COMMENT ON COLUMN SLIFE.DATA0005.TASK_TYPE_NAME IS 'SLIFE Change 20->50'
GO
COMMENT ON COLUMN SLIFE.DATA0005.SYS_TYPE IS '0 - 系统内置, 不可修改  1- 用户自定义'
GO

网上找原因 是主键冲突, RKEY为自增主键,表中其最大值为10,手动更改SQL如下,执行成功,

insert into Data0005 (RKEY,TASK_TYPE_CODE,TASK_TYPE_NAME) values(11,'T0011','飞机票')

 

具体原因也许是主键是索引的缘故吧,没搞懂。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值