首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sql表中的标识id列不是从%1开始的

问sql表中的标识id列不是从%1开始的
EN

Stack Overflow用户
提问于 2014-04-28 07:11:43
回答 3查看 3.7K关注 0票数 1

我运行了一个删除脚本来删除id大于0的所有行,以清空表。现在,当我尝试向表中添加行时,id从以前停止的位置开始。如何删除表中的信息,使id重新从1开始?

EN

回答 3

Stack Overflow用户

发布于 2014-04-28 07:14:40

Delete语句不重置标识值。如果要重置身份值,请使用Truncate table命令。像这样的东西..

代码语言:javascript
复制
TRUNCATE TABLE Table_Name 

这将清空表格并重置identity值。

仅当您希望删除所有行时才使用TRUNCATE。因为它不允许使用WHERE子句。

票数 5
EN

Stack Overflow用户

发布于 2014-04-28 07:24:02

我不认为这在同一张表中是可能的。您使用的是哪个数据库?在以前的MS Access版本中,压缩数据库曾经起作用,但现在不行了。我认为SQL Server也不允许这样做。唯一的方法是将该表中的记录复制到一个新表中,删除旧表并将新表重命名为旧表名。

票数 0
EN

Stack Overflow用户

发布于 2014-04-28 07:31:23

在MS-SQL中,您可以尝试使用DBCC CHECKIDENT (yourtable, reseed, 0)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23330177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档