Avatar billede dananddk Nybegynder
13. maj 2003 - 20:21 Der er 16 kommentarer og
1 løsning

Flytte mysq-datal i forhold til primærnøglen

Hej eksperter, jeg er begyndt at rode lidt med php og mysql og i den forbindelse er jeg stødt ind i et problem:
Jeg har i min datatabel en primærnøgle kaldet nr. som automatisk tæller op hver gang der gemmes en ny række i databasen, men når jeg sletter indlæg kommer der huller i talrækken, f.eks. hvis jeg sletter nr. 2 er rækkefølgen ikke længere:
1,2,3,4 - men istedet: 1,3,4.

-Så mit spørgsmål er hvordan man med php opdatere databasen, så "hullerne" i primærnøglen forsvinder?
Avatar billede ahv Nybegynder
13. maj 2003 - 20:23 #1
Det kan du ikke, hvorfor også dette? Det vil også skabe probæemer hvis du har flere tabeller der er relateret til hinanden.
Avatar billede dananddk Nybegynder
13. maj 2003 - 20:26 #2
-man må da kunne lave et php-script som laver en sådan flytning i forbindelse med sletning i databasen - og jeg roder ikke med nogle relationer i datbasen..
Avatar billede Slettet bruger
13. maj 2003 - 20:38 #3
Jamen hvorfor vil du ikke have huller?
Avatar billede olebole Juniormester
13. maj 2003 - 21:26 #4
<ole>

Du opnår intet ved at prøve at ændre på de huller. Det findes i 9,9999 ud af 10 databaser på nettet - og udenfor  :)

/mvh
</bole>
Avatar billede nicklasb Nybegynder
13. maj 2003 - 22:13 #5
det der er hele ideen ved autonummerering, er at hver post er forskellig fra de andre. Hvad når du har et link til fx en nyhed, med et bestemt id-nummer, og de besøgende så har langt dette link i deres fortrukne? Når du nu vil slette en af de første poster, vil dette så resultere i at det hele går skævt.

Hvis det er ved udtræk at du skal bruge numre, med samme interval imellem kan du jo evt. i stedet tildele posten et id ved hvert udtræt.

$id = 0;

while (bla bla bla.. sql-sjov) {
    $id++

[resten  af koden her]

}

Du kan nu bruge idet inde i denne while.. sådan du mener ??
Avatar billede dananddk Nybegynder
14. maj 2003 - 13:40 #6
Hey - jeg har bare en lille side og brugerne har ikke adgang til at søge efter primærnøglen.
-Det er bare det at der meget ofte bliver slettet og tilføjet i basen så numrene kommer meget højt op...
-Men, så må jeg jo igen selv søge at løse problemet...
Avatar billede Slettet bruger
14. maj 2003 - 13:42 #7
Du har stadig ikke fortalt hvorfor du mener at det er et problem når numrene bliver høje?
Avatar billede olebole Juniormester
14. maj 2003 - 13:58 #8
Du kan jo bare flytte dem til en anden tabel i en while-løkke - og så tilbage igen. Men det er som sagt ikke overbevisende kvikt. Alle andre har samme 'problem' - men du er den eneste, jeg nogensinde har hørt om, der vil ændre på det  :)
/mvh
Avatar billede nicklasb Nybegynder
14. maj 2003 - 16:01 #9
hvorfor så overhovedet have et auto-nummer på?? Hele ideen med disse er at du aldrig har mulighed for at få 2 ens poster..
men hvad bruger du da autonummeret til??
Avatar billede olebole Juniormester
22. maj 2003 - 23:05 #10
dananddk >> Hvaaahh' .... er du død?
Avatar billede dananddk Nybegynder
23. maj 2003 - 16:59 #11
Undskyld - det virker nok lidt taktløst af mig ikke at have svare tilbage - men ingen har givet mig et svar på mit oprindelelige spørgsmål (om batabasen er relationel er ikke interessant), så jeg har selv sat mig for at rode videre med det. Grunden til at oplægget ikke er lukker er såmen blot at jeg ikke selv kan lide at lukke og tage de udsatte point....
Avatar billede olebole Juniormester
23. maj 2003 - 22:43 #12
Ehhh .... skal vi kode det i enkeltheder for dig? Du har da fået et svar, der skulle være til at forstå, hvis du kan det aller mest elementære PHP  :)

Til gengæld er du nok den eneste på Eksperten, der fatter, hvad problemet er. Det er med garanti ikke kun mig, der gerne vil lære noget nyt, så kunne du ikke invie os andre i, hvorfor du ønsker at udrydde 'hullerne' i den kollonne?
/mvh
Avatar billede olebole Juniormester
23. maj 2003 - 22:47 #13
PS: I betragtning af, at folkene bag E siden åbningen af sitet har tigget og bedt os brugere om at lukke vores spørgsmål - og du samtidig ytrer nervøsitet for at virke taktløs - kan det måske undre lidt, du helt åbent og uden blusel erklærer dig for sløv og ugidelig til at foretage to klik med din mus ...?!?!??

... blot en lille tanke  :)
/mvh
Avatar billede dananddk Nybegynder
24. maj 2003 - 11:32 #14
olebole -> Lav et "svar" og få dine point, du er den der har svaret bedst
Avatar billede olebole Juniormester
24. maj 2003 - 18:17 #15
Jamen, det er ikke et spm. om points - dem har jeg rigeligt af. Jeg er mere interesseret i én eller flere af os bliver lidt klogere  :)
Kan du ikke prøve at forklare, hvad du bruger kollonnen til og hvorfor du vil 'rytte op' i den?
Det 'værste', der kan ske, er at du måske kan få nogle tips, du kan bruge til dit nuværende projekt - eller dem, der måtte følge  ;o)
/mvh
Avatar billede dananddk Nybegynder
25. maj 2003 - 10:55 #16
Grunden til flytningen er fuldstændig irationel og er kun et udtryk for en måske lidt for perfektionistisk tankegang, der er i princippet ingen grund til flytningen ud over at det er nemmere direkte i f.eks. php admin at oversskue. Så bær dog over med mig..
Avatar billede olebole Juniormester
07. juni 2003 - 15:18 #17
Jaja ... jeg bestiller jo heller ikke andet. Jeg slæber og slæber ...  ;oD
/mvh
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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

IT-JOB