19. juni 2005 - 00:39Der er
12 kommentarer og 1 løsning
Benyttede tidligere slettede ID's
Hej,
Jeg benytter Int med increment som unikt ID. Det virker også fint, men når jeg sletter tidligere records, så bliver disse aldrig senere hen benyttet. Hvordan kan man sikre sig at disse bliver benyttet, i stedet for at alle nye records får et nyt og højere ID?
Jeg ved ikke hvordan man gør det... Personliget syntes jeg det er en dårlig idé, folk der f.eks. har gemt noget i foretrukne med dette id vil få noget helt andet en de regner med...
kan kun tilslutte mig de 2 tidligere kommentarer. Jeg ved du kan få DB'en til at gøre det du vil have den til, men jeg kan heller ikke se fordelen ved det.
Tak for kommentarer. Jeg vil give jer helt ret i at det i normale sammenhænge ikke lyder som den bedste løsning. I mit tilfælde vil de ID's dog kun være tilgængelige internt, brugere vil dermed ikke få vist noget andet end de regner med etc.
Grunden til at jeg søger denne løsning, er at de slettede records og dermed ID's med garanti vil være helt ude af systemet og jeg samtidigt ønsker at holde et så kort ID som muligt.
Tilslutter mig de andre. Det er en rigtig dårlig ide. Prøv at forklare hvorfor du ønsker et kort ID, så kan vi måske komme med en anden løsning.
Det eneste problem der kunne være med ståre ID'er er hvis de bliver større end datatypen tillader. Den største værdi en int kan have er 2147483647. Så hvis du virkelig er nået så højt op, så kan du uden problemer skifte til bigint, der går op til 9223372036854775807. Så skulle du vist være reddet :o)
1. Ret ID kolonnen så den ikke længere er identity. Tryk på gem 2. Lav en ny kolonne, med datatypen int, og sæt den til identity
Nu er den nye kolonne udfyldt med en ubrudt talrække, men du kan bare ikke bruge den til noget, for så ville posterne jo få nye id'er, og det er jo ikke meningen.
Arne_v's første indlæg er det der kommer nærmest en løsning. Man behøver jo ikke bruge IDENTITY som primær nøgle.
I øvrigt arne_v: Hvis man holder det indenfor en transakction vil tabellen jo være "låst", ikke? Er det ikke nok?
Tak for jeres svar og undskyld den sene tilbagemelding. Jeg har droppet idéen om at benytte tidligere brugte ID's, da jeg kan forstå det ikke lader til at være det smarteste :)
Smid et svar, jer der vil have, så deler jeg ud :)
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.