代码改变世界

修改MSSQL自增列标识值

2011-10-26 13:41  dreamhappy  阅读(5100)  评论(0编辑  收藏  举报
 
执行数据库插入语句
IF EXISTS (SELECT 1 FROM [Tag] WHERE [Name]='发哥') 
  BEGIN  SELECT [ID] FROM [Tag] WHERE [Name]='发哥' 
END Else  
BEGIN 
  INSERT INTO Tag([Name]) VALUES('发哥');Select SCOPE_IDENTITY() 
END

    以上语句查询能够查出没有标签名为'发哥'的信息,但是又不能插入新值,提示有违背主键唯一性约束的错误,怎么回事?

答案:

    数据库自增列自动生成出问题了

自增列种子值

有时候,我们需要查看或修改SQL Server 中的identity(自增列)的目前种子值,可以用如下命令来实现

 查看某个表中的自增列当前的值:DBCC   CHECKIDENT   (TableName)

 修改某个表中的自增列当前的值:DBCC   CHECKIDENT   (TableName,   RESEED,   value)

比如我要把 Division 表中的 自增列 的当前值改为 30 可以用如下命令

DBCC   CHECKIDENT   (Division,   RESEED,   30)

  然后用

DBCC   CHECKIDENT   (Division)

     你可以看到显示的是当前值是30

以上参考:http://netsoft.blogbus.com/logs/39435748.html