雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

Sql Server清空表并重置主键序号

2024-07-05 78

Sql Server清空表并重置主键序号有两种方法

清除表数据并重置主键

TRUNCATE Table [Table name]

删除所有表数据

DELETE FROM [Table name]

重置主键序列

dbcc checkident([Table name],reseed,0)

以Sql Server2014为例,比如当前有2条记录(序列为2),执行成功后输出结果:

正在检查标识信息: 当前标识值为“2”。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

如果表里有数据,只重置表主键序列,那么再插入数据会报错:

消息 2627,级别 14,状态 1,第 4 行
违反了 PRIMARY KEY 约束“PK_TS”。不能在对象“dbo.TS”中插入重复键。重复键值为 (1)。
语句已终止。

因为序列被重置为0,下次插入新记录时Id自增为1,但是目前数据库已经存在Id为1的记录,所以就报错了。所以一般先删除表数据后再执行重置主键序列。

更新于:4个月前
赞一波!3

文章评论

评论问答