为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:中标麒麟
【CPU】:
【问题描述】*:假如由于导库等原因,导致自增列数据的最大值比该列的种子值大的情况,是否有函数或者方法,重置子增列的种子值,直接改到比已有自增列数值大?
用我这个test表做个例子:
我想要改为以10为种子
alter table “B”.“TEST” drop identity;
alter table “B”.“TEST” add column “ID” identity(10, 1);
1、如果是自增列,定义例如create table A(“ID” INT identity(1, 1),c1 varchar(10)); 当遇到上面说的自增列数据的最大值比种子值大的情况,比如ID为10时,设置自增列可以手动插入后,插入多条数据,这时ID为50,那么下一条表自增列自动插入的ID数据为51。
也就是说自增列数据自动插入的值是从表自增列中最大值+增量值,并不需要手动去充值自增列种子值,改到比已有的自增列数据值大。
2、如果是使用的序列sequence来做自增数据,那么直接修改序列的当前值为列最大值+1,语句如:ALTER SEQUENCE SEQ1 CURRENT VALUE 300;
根据问题描述比较像使用的sequence来做自增的,直接使用上面语句修改序列当前值即可。