DB2 求指导,如已有一个表 test(id,name),其中id, name 都已经有了数据。现在要将id的属性改为自增,如何来实现?
直接修改就行:alter table test alter column id set generated always as identity (start with 3,increment by 1) 其中3为max(id)+自增量,1为自增量(步长)
收起楼上说的很对,首先必须确保id列不能为空 然后找到最大值,start with最大值 再加上自增量。但是做完这些后必须重组表才能使用,不然会报错:对表进行任何操作都不被允许,提示SQLSTATE=57016 SQLCODE=-668 ,原因码 "7"的错误:SQL0668N Operation not ...
reorg table test 如果用户没有权限执行,必须用管理员账户进入执行reorg
重组后才能操作该表。