db2数据库导入时自动增长的ID列如何填写

2025-04-11 05:53:24
推荐回答(4个)
回答1:

DB2 列的自动增长都是通过序列实现的。
所以你需要确定DB2的列引用的是哪个序列,才能确定当前值、下一列值。如何确定引用哪个序列,最简单的办法是问谁添加的自动增长序列。最2的办法是直接挨个查syscat.sequences视图。执行values(next value for 序列名)能打印下一自动增长值。

插入这样的值,跟插入正常列一样。因为next value for seq_001 实际就是打印一个数字。你知道序列规则的话直接填真实数值插入就可以。

create sequence seq_001

start with 1

increment by 1

no maxvalue

no cycle

cache 21
;

insert into test1(cid,cname,sex,age) values(next value for seq_001,'scott','M',30);

回答2:

DB2自增长列:
1当想将表中一列修改为自动增长时,可用下面命令:
Alter table

alter column set not null
Alter table
alter column set generated always as identity (start with 1,increment by 1)
上面命令是在改一表中列的属性时,在网上找到的很有用。
2当修改表中一列自动增长的开始值时,可用下面的命令:
ALTER TABLE ALTER COLUMN RESTART WITH 18;

回答3:

自增长的ID 能填写么?只读的

回答4:

不需要填写的。

看那个 序列 的当前值是多少?