A. 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
B. 怎樣清空SQL SERVER資料庫,清空後讓表的ID自增列從1開始
SQL Identity自增列清零方法
1.使用DBCC控制台命令:
dbcc checkident(表名,RESEED,0)
2.truncate table 也可將當前標識值清零
但當有外鍵等約束時,無法truncate表
可以先禁用外鍵約束來truncate表:
--禁用外鍵約束
exec sp_msforeachtable 'alter table ? nocheck constraint all'
--清空數據
truncate table 表名
--啟用外鍵約束
exec sp_msforeachtable 'alter table ? check constraint all'
我常用 truncate table 進行數據表內數據的清空,同時將ID列重新開始計數!
truncate table 課程表
truncate table 學生表
truncate table 選課表
C. sql server中把一列改為自增長的語句怎麼寫
sqlserver中把一列改為自增長的語句怎麼寫的方法。
如下參考:
1.首先,我們准備一個數據表,然後將向表中添加列,如下圖所示迅飢。
D. sql 修改某列 為自增欄位
自增列不能直接修改,必須將原有id列刪除,然後重新添加一列具有identity屬性的id欄位。比如你要修改的欄位名為id:
alter
table
表名
drop
column
id
alter
table
表名
add
id
int
identity(1,1)