Avatar billede dennism Nybegynder
24. april 2009 - 18:40 Der 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?
Avatar billede arne_v Ekspert
24. april 2009 - 18:47 #1
Du kan indsaette en raekke hvor du eksplicit angiver id til 5.

SQLServer vil ikke selv genbruge 5.

Saadan er det bare.
Avatar billede arne_v Ekspert
24. april 2009 - 18:48 #2
Naar man bruger auto increment, saa er de jo fordi vaerdien ikke har nogen betydning.

Og saa har det jo heller ikke nogen betydning, at der er huller.
Avatar billede aaberg Nybegynder
24. april 2009 - 20:47 #3
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.
Avatar billede dennism Nybegynder
09. juni 2009 - 10:48 #4
Vil I begge smide et svar?
Avatar billede arne_v Ekspert
09. juni 2009 - 14:52 #5
.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester