⑴ 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)