Avatar billede skarvenneverdies Nybegynder
29. september 2004 - 17:29 Der er 14 kommentarer og
1 løsning

Tvinge et bestemt nummer ind i en tabel med autonummering.

Hej

Jeg har en tabel hvis primær nøgle bliver styret udfra fra et autonummereringsID - ved en fejl er 2 poster i tabellen blevet slettet, og jeg skal have genskabt dem. Posterne skal have samme ID som før da en masse andet data i andre tabeller relaterer til til dem... Hvordan opretter jeg manuelt disse 2 poster igen? Autonummerering spærrer for at jeg selv kan indsætte et bestemt nummer?
Avatar billede mugs Novice
29. september 2004 - 17:31 #1
Det kan du kun hvis de 2 slettede poster er de sidste i en række. I så Fald skal du komprimere databasen, herefter star auto fra det højeste nummer + 1.

Hvis de alettede poster ligger inde i en række, og der er efterfølgende numrer, kan du ikke genskabe numrerne.
Avatar billede skarvenneverdies Nybegynder
29. september 2004 - 17:35 #2
øv - de ligger som nummer 3 og 33 ud af 304 poster

Jamen Mugs det er noget skidt for jeg skal ha dem ind igen ellers bliver jeg halshugget...
Avatar billede mugs Novice
29. september 2004 - 17:45 #3
Har du mod på et eksperiment:

Tag en kopi af din db og arbejd med denne kopi. Opret et nyt felt (numerisk) og indtast numrer for hver enkelt post der er magen til autonummeret. Indtast til sidst de 2 slettede poster og giv dem numrerne 3 og 33. Slet autonummerfeltet og sørg for at tabeller er sorteret stigende og posterne 3 og 33 ligger korrekt. Opret derefter et autonummer feltt. Hvis posterne nu ligger korrekt med de samme numrer i autonummerfeltet = Dit nye numeriske felt er den vel reddet.
Avatar billede skarvenneverdies Nybegynder
29. september 2004 - 18:07 #4
jeg har en backup af tabellen liggende hvor 3 og 33 er i men til gengæld mangler de sidste 10 rækker i tabellen...  (fra 303 til 313)

Jeg har importeret denne tabel så de 2 tabeller ligger i samme db...

kan jeg overføre de sidste 10 rækker til den tabel hvori de mangler?
29. september 2004 - 18:16 #5
Du kan også bare indsætte posten vha en Insert-forespørgsel:

Insert Into DinTabel Select 3
Avatar billede mugs Novice
29. september 2004 - 18:31 #6
thomasjepsen > Hvilket autonummer vil denne post (3) få?
29. september 2004 - 20:04 #7
Du kan vel næppe kalde det et autonummer, når du dikterer at den skal hedde 3 ;)

Men der var lige en fejl i sætningen:

Insert Into DinTabel ( ID ) Select 3
Avatar billede mugs Novice
29. september 2004 - 20:09 #8
Thomas > Så misforstod jeg dig. Jeg troede du kommenterede spørgerens kommentar Kl 18:07:21, og ville importere Nr 3 fra den nye tabel til den gamle tabel hvor Nr. 3 mangler.
29. september 2004 - 20:12 #9
ah, næ det var bare en generel metode - spm var jo lukket, så jeg gik ud fra, at skarvenneverdies havde løst sit problem ;o)
Avatar billede skarvenneverdies Nybegynder
29. september 2004 - 20:35 #10
ja jeg har løst problemet ved at importere en ældre tabel til dbén, i denne var de 2 poster intakte, men da det var en ældre tabel manglede de 10 sidste poster i tabellen - men dem kunne jeg kopiere fra den "ødelagte" tabel.  herefter slettede jeg den "ødelagte" tabel og renamede den importerede tabel til det originale tabelnavn.
Avatar billede mugs Novice
29. september 2004 - 20:39 #11
Det var en mulighed jeg ikke havde taget i betragtning. Men lige meget, blot problemet blev løst så er metoden jo ganske underordnet.
Avatar billede skarvenneverdies Nybegynder
29. september 2004 - 20:43 #12
Under alle omstændigheder siger jeg tak for indlæggene - de fik mig til at tænke lidt mere kreativt!
Avatar billede mugs Novice
29. september 2004 - 20:47 #13
Kreativitet er nødvendigt, når man arbejder i databasernes forunderlige verden.

Keine Hexerei - Nur Behändigheit
Avatar billede Jørgen Kirkegaard Professor
29. september 2004 - 23:05 #14
Jeg kan ikke lade være med at komme med et råd, som jeg selv mener er godt: Brug IKKE autonummerering, hvis det er vigtigt. F.eks. hvis du genererer fakturanumre, som skattemor ikke vil have, at der er huller i. Dan hellere selv din nøgle som "max + 1", nævnt nogle gange her i e. Så ville det også have været nemmere at løse denne (som sikkert sker igen: at de lå som 3 og 33 tyder måske på, at det var sket i 2 omgange)
Avatar billede skarvenneverdies Nybegynder
30. september 2004 - 00:02 #15
Nej det var 2 poster der ved en fejl var slettet via et admin-modul i asp, men ellers ja så har vi da her set en svaghed ved autonum. :-)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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