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)