sql - Insert into column without having IDENTITY -
i have table
create table [misc] ( [misc_id] [int] not null, [misc_group] [nvarchar](255) not null, [misc_desc] [nvarchar](255) not null )
where misc_id [int] not null
should have been identity (1,1)
not , i'm having issues
with simple form insert table since misc_id
looking number user not know unless have access database.
i know option create column make identity(1,1)
, copy data.
is there way able around this?
insert misc (misc_group, misc_desc) values ('#misc_group#', '#misc_desc#')
i have sql server 2012
you should re-create table desired identity column. following statements close. sql server automatically adjust table's identity field max(misc_id) + 1 you're migrating data.
you'll need stop trying insert misc_id new records. you'll want retrieve scope_identity() column after inserting records.
-- note: i'd recommend having ssms generate base create statement know didn't miss anything. you'll have export indexes , foreign keys well. add them after populating data improve performance , reduce fragmentation. create table [misc_new] ( [misc_id] [int] not null identity(1,1), [misc_group] [nvarchar](255) not null, [misc_desc] [nvarchar](255) not null -- todo: don't forget primary key can added later (not recommended). ) go set identity_insert misc_new on; insert misc_new ( [misc_id], [misc_group], [misc_desc] ) select [misc_id], [misc_group], [misc_desc] misc order misc_id; set identity_insert misc_new off; go exec sp_rename 'misc', 'misc_old'; exec sp_rename 'misc_new', 'misc'; go
Comments
Post a Comment