database - 清空表数据并重置 IDENTITY 列

标签 database sql-server-2008

我在 SQL Server 中创建了一个包含几个表的数据库。我运行了一些测试,现在准备部署我的解决方案,问题是,表格中有各种各样的数据。我想删除用我的测试创建的所有表的每一行,并将主键放回零。我试过 delete,它不会重置主键索引,而 drop 只会破坏表。

最佳答案

您可以尝试 TRUNCATE TABLE 删除所有行并重置身份种子。但是,如果您有外键,则必须按特定顺序执行。在这种情况下,您需要先从子表中删除,或者删除约束并重新添加它们。

另请注意,如果您使用的是 IDENTITY,您真的不应该期望这些数字有任何意义,或者永远不间断地生成。您不应该关心它是从 1 开始还是 22 或 65 - 您能解释一下为什么需要重置身份值吗?

关于database - 清空表数据并重置 IDENTITY 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9384776/

相关文章:

sql - 在 where 子句中使用 ISNULL 不会返回具有 NULL 字段的记录

sql - 使用 SSMS 将 1000 行插入 SQL 表

sql - 如何有效地检查表是否为空?

mongodb - 蒙戈错误 : not authorized on dbname to execute command

java - 每隔一分钟向数据库发送一次查询

mysql - select * from foo 有什么含义?

php - 如何在 Laravel 中使用多个数据库并随用户更改数据库连接?

SQL Server 2008 以正确的顺序从自引用表中删除记录

sql-server-2008 - 在插入数据库之前删除重复项

database - 如何在数据库中存储年月?