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的记录,所以就报错了。所以一般先删除表数据后再执行重置主键序列。
赞一波!3
相关文章
- SQL Server EF使用Sequence全局自增ID
- SQL Server用UUID做主键性能问题和解决方案
- 针对 Go 语言开发的 SQL 驱动模拟库
- 数据库SQL Server2014和SQL Server2019的区别和如何选择?
- Blazor ServerPrerendered模式OnInitialized{Async}执行两次
- 简单描述 MySQL 中,索引,主键,唯一索引,联合索引 的区别,对数据库的性能有什么影响(从读写两方面)
- MySQL server has gone away
- 现在开发使用Sql语句还是ORM更多?
- Symfony/Doctrine中的SQL注入
- 在 Windows Server Server/Windows 11 上安装 VirtIO 驱动程序
- SQL生成框架Vanna.ai用法教程
- .NET自然语言转换为SQL的Nl2Sql项目
- 解决PHP开发中的SQL注入攻击问题
- SQL语句优化
- sql创建并循环临时表
- Sql语句行转列
- 程序员Sql常见面试题和答案
- SQLServer 锁表查询命令
- SQLServer nolock查询防止锁表
- SqlServer分页查询示例
文章评论
评论问答