當前位置:首頁 » 編程語言 » sql重置自增列
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql重置自增列

發布時間: 2023-08-14 00:40:21

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)