⑴ sql的自增列如何重置
--操作的过程中,注意一点,标识列自增是不能修改的,那么首先
--去除该列自增的标识,然后再修改id,成功修改后,再加上标识
--r如果不修改标识,会报错:“无法更新标识列”
create table #a
(ids int,
names varchar(100)
)
--插入测试数据,序号从100开始的,表示你当前表的情况
declare @a int
set @a=100
while @a<200
begin
insert #a(ids)
select @a
set @a=@a+1
end
--假定还有一个#b表也引用了该序号
--插入测试数据到#b
select ids n_id,names ff into #b from #a
--好,现在开始处理序号问题了,用临时表#tmp过渡
--这里用了一个标识列,请注意!
--将带一个新的序列的数据插入到表#tmp中
select identity(int,1,1) flag, * into #tmp from #a
--看看结果是不是有了新的序列了,呵
select * from #tmp
--那么现在就利用#tmp表来更新所有用到该序列的表
--更新#a
update #a set ids=flag from #a a,#tmp b where a.ids=b.ids
--更新其他表引用了该序列的,比如#b
update #b set n_id=flag from #b a,#tmp b where a.n_id=b.ids
⑵ 在SqlServer中怎样设置自动增长字段
sqlserver有3种方式设置自增列,
1.
ssms中在图形化界面中建表时,设置自动增长的其实值及每次增量
2.
--语句建表时设置自增列,从1开始增长,每次增加1
create
table
test(col1
int
indentity(1,1,))
3.
--修改列为从1开始增长,每次增加10
alter
table
test
alter
col1
int
indentity(1,10)