0

我的帖子

个人中心

设置

  发新话题
查询当前的标识列值:
SELECT IDENT_CURRENT('dbo.StayPushShipping')
SELECT IDENT_INCR('dbo.StayPushShipping')
SELECT IDENT_SEED ('dbo.StayPushShipping')

对于普通的表,用TRUNCATE TABLE
TRUNCATE TABLE name可以删除表内所有值并重置标识值 ,但是表内的数据将丢失。

对于配置了复制的表,先用DELETE删掉数据后,再DBCC CHECKIDENT
DBCC CHECKIDENT ('dbo.StayPushShipping', RESEED,1)

     你想要重置标识值(不删除数据)采用下面方法即可:但是存在问题:
     1)DBCC CHECKIDENT ('表名', RESEED,new_value)(重置新的标识值,new_value为新值)
    2) 问题:如dbcc checkident ('表名',reseed,1)即可,但如果表内有数据,则重设的值如果小于当前表
       的标识最大值,再插入数据时未指定插入的标识值,这样会导致标识冲突问题,如果你的标识设置成自
       增的。此外,你也可以用 dbcc checkident('表名',reseed),即可自动重设值,最后生成值。






直接删除标识列,然后重建?



普通的表,不删除现有数据,也可以用RESEED重置的



我的51CTO博客

SQL Server MCITP, MVP, MCT, DBA
SQLzhuru fdsfasdfsdfs









厉害阿,顶一下搂主



‹‹ 上一贴:官方的安装包(包括2008及2012)点击后出现“未能加载文件 ...   |   下一贴:sql中删除一列字段中的固定一部分 ››
  发新话题
快速回复主题
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 友情链接 |意见反馈 | 网站地图
Copyright©2005-2017 51CTO.COM
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系:bbs@51cto.com