Avatar billede TRoXa Novice
12. august 2003 - 10:11 Der er 19 kommentarer og
1 løsning

Autoincrement oprydning

Hej jeg ville lige høre om det ikke kan lade sig gøre at rydde op i sine tabeller..

f.eks (id = autoincrement)

id    navn
1    TRoXa
2    Pfeiffer
3    erikjacobsen
4    olebole
37    keysersoze
99    jakoba

kan det ikke lade sig gøre at få lavet det om til

id    navn
1    TRoXa
2    Pfeiffer
3    erikjacobsen
4    olebole
5    keysersoze
6    jakoba

på en eller anden måde ?
Avatar billede michael_stim Ekspert
12. august 2003 - 10:13 #1
Tror desvärre ikke det går.
//Michael
Avatar billede erikjacobsen Ekspert
12. august 2003 - 10:17 #2
Du behøver ikke rydde mig op :)

Generelt set skal man ikke pille i autonummerede felter. Der er der
alene for at give dig en unik nøgle på en hurtig og simpel måde.
Er denne nøgle fremmednøgle for en anden tabel, går der kuk i det
hvis du ændrer numrene.
Avatar billede arne_v Ekspert
12. august 2003 - 10:22 #3
Der er ikke nogen nem måde at gøre det på.

Du kan godt lave en applikation som looper igennem alle record og ændrer
dem *OG* ændrer alle andre felter som hensiser til værdien.

Men er det umagen værd ?

Som hovedregel bør man ikke bruge autoincrement, hvis feltet skal
vises !
Avatar billede erikjacobsen Ekspert
12. august 2003 - 10:24 #4
Kan du ikke bare bruge "navn" som primær nøgle? Det er jo ikke li'som
der står nogen steder, at der skal være et autoincrement flet.
Avatar billede michael_stim Ekspert
12. august 2003 - 10:29 #5
Hvis du skal bruge tallet kan du lägge "nummer" til i din tabel og så skrive dem manuelt.
//Michael
Avatar billede TRoXa Novice
12. august 2003 - 10:35 #6
Altså .. der er ingen andre tabeller eller noget der linker til den tabel med id eller noget .. de .. er der bare ..

jeg bruger dem til at vise profiler med ..

profil.php?id=1 fx :)

jeg har bare haft oprettet mange test brugere .. og nu har jeg fået 430 rigtige brugere på min side .. men id er oppe på 519 .. kunne godt tænke mig, at jeg kunne få den resettet, så jeg mere kunne regne med at slutid 431 = at der er 431 brugere :)

Det har slet ingen betydning at der står 519 .. ville bare bedre kunne li at der stod 430 :)
Avatar billede arne_v Ekspert
12. august 2003 - 10:38 #7
Hvis du laver en lille applikation som looper igennem fra neden af
og ændrer numrene med UPDATE ... SET ..., så bør det virke.

Men nye numre vil vel starte med 520 anyway.
Avatar billede erikjacobsen Ekspert
12. august 2003 - 10:49 #8
Har du virkelig en bruger der hedder "erikjacobsen" ;) ?

Men så er det jo en process du skal igennem næste gang der er nogen,
der sletter sig selv (mig fx... *G*), og så er der ingen bogmærker
hos dine brugere (med et id=XXX i), der virker korrekt længere.

Mit råd: glem det.
Avatar billede peturkirke Novice
12. august 2003 - 10:51 #9
hvorfor ikke lave en ny tabel og selecte på den gamle og inserte i den nye ?
bagefter sletter du den gamle tabel, og omdøber navnet på den nye til det gamle navn
Avatar billede erikjacobsen Ekspert
12. august 2003 - 10:51 #10
eller:  profile.php?bruger=erikjacobsen
Avatar billede TRoXa Novice
12. august 2003 - 10:59 #11
peturkirke >>
Genialt :) Det var jo ret simpelt :) læg et svar :)

-----

erikjacobsen >> Nej må desværre indrømme, at du ikke er i bruger tabellen :P det var bare for at komme med et eksempel, og da jeg fx ser dit navn mange steder, så kom du på listen med brugere :)

Men det med at bruge bruger=erikjacobsen .. går desværre ikke, da nogle bruger har & tegn osv i deres navn .. så blir nødt til at bruge de ids :) Og brugere kan ikke slette sig selv :) de kan kun deaktivere deres profil, så deres row i tabellen blir aldrig slettet :)
---
Avatar billede arne_v Ekspert
12. august 2003 - 11:02 #12
Du kunne jo URL encode navnene til at være valide i en URL.
Avatar billede TRoXa Novice
12. august 2003 - 11:05 #13
ja okay :) det kunne man jo, men det ville være at gøre for meget ud af så lille en ting som mit "problem" som egentlig ikke var et problem .. bare mig der var besværlig hehe :) hvis jeg skulle det skulle jeg rette i 50 forskellige sider :( og det er for meget :) så det er nemmere lige at selecte alt i tabellen og smide det over i en ny tabel :) og så slette den gamle og omdøbe den nye til den gamle :) så er alt som det skal være :)
Avatar billede peturkirke Novice
12. august 2003 - 11:06 #14
svar :-)
Avatar billede erikjacobsen Ekspert
12. august 2003 - 11:11 #15
...bortset fra hvis andre laver links eller bogmærker med ...?id=99 - men
det er jo heldigvis dit problem. Godt, så slipper jeg for at melde mig ud ;)
Avatar billede TRoXa Novice
12. august 2003 - 11:11 #16
det var ik et svar men en kommentar :P
Avatar billede peturkirke Novice
12. august 2003 - 11:12 #17
svar
Avatar billede TRoXa Novice
12. august 2003 - 11:13 #18
erikjacobsen >> det kan de ikke :) eller jo .. men hvis en profil er deaktiveret blir den ikke vist, og hele siden blir vist med id (menuer osv, så det ville de ikke få noget ud af) .. ved ikke om jeg forstod hvad du mente med det :P
Avatar billede erikjacobsen Ekspert
12. august 2003 - 11:49 #19
Jeg kan ikke se hvad der skulle forhindre besøgende i at lave et
bogmærke med ...?id=99. Den dag de laver det, for nemt at kunne finde
jakobas profil igen, der virker det. På et senere tidspunkt har du lavet
numrene om, og nu får de pludselig Hans Hansen i stedet for.

For ikke at tale om søgemaskiner, der registrerer jakoba på ...?id=99, men
den da en besøgende via søgemaskinen kommer forbi, får han Hans Hansen.

Du siger, der kun er én tabel i dit system, men ved at udstille dit id
i din URL har du gjort den til en slags fremmednøgle i en masse data
på internettet, som du ikke har kontrol over.

Men, som sagt, det er jo også ok, hvis det er ok med dig...
Avatar billede TRoXa Novice
12. august 2003 - 12:12 #20
erikjacobsen >>det havde jeg ikke tænkt på :) det må jeg huske til en anden gang, men heldigvis er min side ikke registreret i nogen søgemaskiner endnu eller lign.. og folk har en venneliste/favoritliste på siden, så de behøver ikke bogmærker .. men .. hvis de har ja så er det et problem :)

Men tak fordi du nævnte det :)
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