Three possibilities1. you can set identity increment as negatve number illustration belowdeclare @t table(id int identity(3,-1),val varchar(5))insert @tvalues('test1'),('test2'),('test3'),('test4'),('test5')SELECT * FROM @Toutput----------------------------id val---------------------------3 test12 test21 test30 test4-1 test5
2. Another case is when you start from a negative numberillustration:declare @t table(id int identity(-3,1),val varchar(5))insert @tvalues('test1'),('test2'),('test3'),('test4'),('test5')SELECT * FROM @Toutput------------------------id val-------------------------3 test1-2 test2-1 test30 test41 test5
3. Finally you can insert a negative value explicitly by setting identity_insert to oncreate table #t(id int identity(1,1),val varchar(5))insert #tvalues('test1'),('test2'),('test3'),('test4')set identity_insert #t oninsert #t (id,val)values(-1,'test5')set identity_insert #t offSELECT * FROM #tdrop table #toutput----------------------------------id val----------------------------------1 test12 test23 test34 test4-1 test5
------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/https://www.facebook.com/VmBlogs