我在SQL Server中创建了一个包含几个表的数据库。我运行了一些测试,现在已准备好部署我的解决方案,问题是,表中有各种各样的数据。我想删除用我的测试创建的所有表的每一行,并将主键放回到零。我尝试删除不重置主键索引,删除只是破坏了表。
答案 0 :(得分:23)
您可以尝试TRUNCATE TABLE
删除所有行并重置身份种子。但是,如果您有外键,则必须按特定顺序执行。在这种情况下,您需要先从子表中删除,或删除约束并重新添加它们。
另请注意,如果您使用的是IDENTITY
,那么您真的不应该期望这些数字具有任何意义,或者永远不会产生间隙。你不应该关心它是从1对22还是65开始 - 你能解释为什么需要重置身份值吗?
答案 1 :(得分:9)
来自:http://www.howtogeek.com/howto/database/reset-identity-column-value-in-sql-server/
要将下一个ID的值设置为1,我可以使用此命令:
DBCC CHECKIDENT (orders, RESEED, 0)