当前位置:首页 » 编程语言 » 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)