db2数据库导入时自动增长的ID列如何填写
db2数据库导入时自动增长的ID列是否需要填写,是从1开始填写,还是从原数据中找出最大值加1。...
db2数据库导入时自动增长的ID列是否需要填写,是从1开始填写,还是从原数据中找出最大值加1。
展开
4个回答
展开全部
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);
所以你需要确定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);
追问
追答
这个工具没用过,如果现在自动增长是空的话,建议直接UPDATE,赋值语句update test1 set id=(next value for seq_001)
where 选中你插入的那段数据
展开全部
DB2自增长列:
1当想将表中一列修改为自动增长时,可用下面命令:
Alter table <table name> alter column <column name> set not null
Alter table <table name> alter column <column name> set generated always as identity (start with 1,increment by 1)
上面命令是在改一表中列的属性时,在网上找到的很有用。
2当修改表中一列自动增长的开始值时,可用下面的命令:
ALTER TABLE <talbe_name> ALTER COLUMN <column name> RESTART WITH 18;
1当想将表中一列修改为自动增长时,可用下面命令:
Alter table <table name> alter column <column name> set not null
Alter table <table name> alter column <column name> set generated always as identity (start with 1,increment by 1)
上面命令是在改一表中列的属性时,在网上找到的很有用。
2当修改表中一列自动增长的开始值时,可用下面的命令:
ALTER TABLE <talbe_name> ALTER COLUMN <column name> RESTART WITH 18;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-07-31
展开全部
自增长的ID 能填写么?只读的
追问
通过excel表导入,表格列名和数据表内的字段名一致,数据表内的有很多条,excel表也有很多条,导入时选择从哪行开始,在SQL2000是从列名开始,但列名不会导入的,在db2中能如何导入,选择从第一行(含列名)还是从第二行从实际数据开始导入。
数据表内的字段中有一个是自增值的,excel表的本列是不是需要填写,或如何填写?
谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不需要填写的。
看那个 序列 的当前值是多少?
看那个 序列 的当前值是多少?
更多追问追答
追问
通过excel表导入,表格列名和数据表内的字段名一致,数据表内的有很多条,excel表也有很多条,导入时选择从哪行开始,在SQL2000是从列名开始,但列名不会导入的,在db2中能如何导入,选择从第一行(含列名)还是从第二行从实际数据开始导入。
数据表内的字段中有一个是自增值的,excel表的本列是不是需要填写,或如何填写?
谢谢
追答
数据库中这列设置为 自动增长啊,那么excel的就可以不用填写的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询