DB2自增字段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DB2自增字段相关的知识,希望对你有一定的参考价值。

db2 => alter table ORGAN_NODE alter column ID set GENERATED ALWAYS AS

IDENTITY (START WITH 1, INCREMENT BY 1, NO CACHE )
运行时报错:函数不受支持(原因码 = “72”)。什么意思?
我就是先新建了一个字段column_id,这个字段里还没有内容,我想把column_id设为自增字段,我尝试了几个SQL都不行

参考技术A 你可运行控制中心,然后修改表,有很多限制的.
对于一个已经存在的字段,以前有内容了,如果你这样改,其内容必改,这可能出问题,所以DB2不支持.
建议建立一个新的自增字段.
实验结果:
先设置整型字段然后再ALTER,结果表中无记录时成功,而有记录时失败。
那么就这么做:
create table b like a;
insert into b select * from a;
drop table a;
create table a like b;
alter table a add column id int;
CALL SYSPROC.ALTOBJ ( 'APPLY_CONTINUE_ON_ERROR', 'CREATE TABLE A ( A INTEGER , ID INTEGER GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1, NO CACHE ), ID1 SMALLINT NOT NULL ) IN IBMDB2SAMPLEREL ', -1, ? );
INSERT INTO A(COL1,.....,COLN) SELECT * FROM B; 不包括A的新增自增列,就将数据导回并且ID列也自动有了值。本回答被提问者采纳

以上是关于DB2自增字段的主要内容,如果未能解决你的问题,请参考以下文章

SQL 一个表只有一个自增的主键字段,如何插入

在SqlServer中怎样设置自动增长字段

pgsql字段自增

sql server建表时怎么设置ID字段自增

sql server建表时怎么设置ID字段自增

sql server 如何修改一个字段为自增字段