最近碰到向一张表中插入一条数据,可怎么样都是失败的,报错: SQLCODE=-798, SQLSTATE=428C9, SQLERRMC=ID
这个错的意思是不能向自增长的表中插入数据。
那怎么办呢?
小编只想到了一种笨方法,就是insert时,去掉自增长这个字段,插入其他的数据,这样表就会自己增加这个自增长的字段数据。
比如表结构是:
CREATE TABLE
TM_DIT_DIC
(
ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY,
ORG CHARACTER(12),
DIC_TYPE VARCHAR(100),
TAB_NAME VARCHAR(200),
FORM_NAME VARCHAR(200),
ITEM_NAME VARCHAR(200),
REMARK VARCHAR(200),
JPA_VERSION INTEGER,
TYPE_NAME VARCHAR(200),
IF_USED VARCHAR(20),
IF_CAN_DEL VARCHAR(20),
PRIMARY KEY (ID)
);插入一条语句的sql就是:
insert into TM_DIT_DIC(ORG,DIC_TYPE,TAB_NAME,FORM_NAME,ITEM_NAME,REMARK,JPA_VERSION,TYPE_NAME)
values('02','ww','ww','ee','33','22',0,'ww');不带入id这个自增长字段。
小编只想到了这个方法,如果有朋友有更好的方法,欢迎指教。
本文介绍了一种解决向自增长表插入数据时遇到的错误方法。通过在INSERT语句中排除自增长字段,可以避免SQLCODE=-798错误,并成功插入数据。
3651

被折叠的 条评论
为什么被折叠?



