24. april 2009 - 18:40Der er
4 kommentarer og 1 løsning
MSSQL: Problem med auto increment
Jeg har en tabel i MSSQL som indeholder en id kolonne. Denne er primary key og increment er sat til 1, så ID'erne automatisk bliver fortløbende.
Mit problem er, at hvis jeg f.eks. har haft en række med ID 5 som efterfølgende bliver slettet, så vil jeg stadig gerne kunne oprette en ny række med ID 5, selv om den har været brugt før. Er det ikke muligt?
For eksplicit at indsætte en værdi i en identitykolonne, bliver du nød til at sætte identity-insert på den:
SET IDENTITY_INSERT [tabelname] ON;
Nu kan du sætte dine egne værdier ind i identity-kolonnen.
Men som arne_v siger, så giver det sjældent mening at gøre dette. Kan du fortælle lidt om, hvorfor du ønsker at genbruge tallene? Hvis du har en god grund, kan det være at du bør vælge noget andet end identity.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.