执行数据库插入语句
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