/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
auto increment på primær nøgle
Fra : Leif


Dato : 29-01-08 15:58

Jeg er nybegynder med MySQL også her men jeg har et lille irriterende
problem.
Når den primære nøgle er sat til auto increment og man øver sig med at
sætte ind og slette, vil index fortsætte uafhængig af sletninger.dvs der
kommer nogle hop i talrækken svarende til de poster, der er fjernet.

Er der en operation, hvorved nøglen kan genetableres uden de tomme huller?

Jeg bruger phpadmin og har ikke en omfattende bog om MySQL.

mvh
Leif

 
 
Henrik Stidsen (29-01-2008)
Kommentar
Fra : Henrik Stidsen


Dato : 29-01-08 17:17

Leif <leif@dagnyleif-johansen.dk> wrote in
news:479f3f08$0$2098$edfadb0f@dtext02.news.tele.dk:

> Når den primære nøgle er sat til auto increment og man øver sig med at
> sætte ind og slette, vil index fortsætte uafhængig af sletninger.dvs
> der kommer nogle hop i talrækken svarende til de poster, der er
> fjernet.

Det er meningen, det skal være sådan :)

> Er der en operation, hvorved nøglen kan genetableres uden de tomme
> huller?

Hvorfor vil du gøre det?

--
Henrik Stidsen - http://henrikstidsen.dk/
http://fuglemarkedet.dk/ - Danmarks online fuglemarked!

Philip Nunnegaard (29-01-2008)
Kommentar
Fra : Philip Nunnegaard


Dato : 29-01-08 23:59

"Leif" <leif@dagnyleif-johansen.dk> skrev i meddelelsen
news:479f3f08$0$2098$edfadb0f@dtext02.news.tele.dk...

> Når den primære nøgle er sat til auto increment og man øver sig med at
> sætte ind og slette, vil index fortsætte uafhængig af sletninger.dvs der
> kommer nogle hop i talrækken svarende til de poster, der er fjernet.

Sådan som jeg ser det, er det helt bevidst, at det er lavet sådan.

> Er der en operation, hvorved nøglen kan genetableres uden de tomme huller?

Det tror jeg ikke, at der er.
Det ville også give for meget rod i databasen, hvis det var sådan.

Forestil dig dette:
Du har et community med en række brugerprofiler, der hver har sin unikke ID.
Til disse brugerprofiler er der mulighed for at skrive- og modtage post.
Disse breve er selvfølgelig knyttet til afsenderens- og modtagerens
ID-numre.

Hvis så en bruger sletter sig, og alle nyere profiler rykkede et nummer op,
ville det kunne betyde, at jeg pludselig ikke kunne finde mine breve, mens
jeg tilgengæld kunne læse en masse post, der ikke tilhørte mig.

Et andet scenarie:
Man har nogle artikler. Til de artikler kan man knytte nogle kommentarer,
der gemmes i en selvstændig tabel med en kolonne, der angiver, hvilken
artikel, kommentarerne tilhører.
En artikel slettes. De efterfølgende artikler rykkes op, og kommentarerne
havner pludselig på forkert sted, så det bliver sort snak for de besøgende.

I det hele taget er det ikke ualmindeligt, at man har ting spredt ud over
flere tabeller med en slags "hovedtabel" plus nogle "undertabeller", der
refererer til hovedtabellen.

Omsat til den virkelige verden:
Det ville koste en hulens masse unødig administration, hvis f.eks. min
arbejdsgiver skulle oplyses om, at jeg havde fået nyt kontonummer i banken,
hver gang en kunde med et lavere kontonummer skred.


Michael Zedeler (30-01-2008)
Kommentar
Fra : Michael Zedeler


Dato : 30-01-08 00:03

Leif wrote:
> Jeg er nybegynder med MySQL også her men jeg har et lille irriterende
> problem.
> Når den primære nøgle er sat til auto increment og man øver sig med at
> sætte ind og slette, vil index fortsætte uafhængig af sletninger.dvs der
> kommer nogle hop i talrækken svarende til de poster, der er fjernet.
>
> Er der en operation, hvorved nøglen kan genetableres uden de tomme huller?

Hvis du har brug for det, er du på vej til at lave problemer for dig
selv. Hvad er det du bruger værdierne til?

Mvh. Michael.

Martin (30-01-2008)
Kommentar
Fra : Martin


Dato : 30-01-08 00:48

Leif wrote:
> Jeg er nybegynder med MySQL også her men jeg har et lille irriterende
> problem.
> Når den primære nøgle er sat til auto increment og man øver sig med at
> sætte ind og slette, vil index fortsætte uafhængig af sletninger.dvs der
> kommer nogle hop i talrækken svarende til de poster, der er fjernet.
>
> Er der en operation, hvorved nøglen kan genetableres uden de tomme huller?
>
> Jeg bruger phpadmin og har ikke en omfattende bog om MySQL.
>
> mvh
> Leif

Du kan bruge
TRUNCATE tabel;
men som alle har nævnt... HUSK NU OGSÅ AT SLETTE ANDRE TABELLER som din
primære referer til

Philip Nunnegaard (30-01-2008)
Kommentar
Fra : Philip Nunnegaard


Dato : 30-01-08 04:25

"Martin" <martin@aarhof.eu.invalid> skrev i meddelelsen
news:479fbb41$0$90267$14726298@news.sunsite.dk...


> Du kan bruge
> TRUNCATE tabel;

Så skal det lige med, at man med Truncate sletter ALLE poster i tabellen.


Martin (30-01-2008)
Kommentar
Fra : Martin


Dato : 30-01-08 12:02

Philip Nunnegaard wrote:
> "Martin" <martin@aarhof.eu.invalid> skrev i meddelelsen
> news:479fbb41$0$90267$14726298@news.sunsite.dk...
>
>
>> Du kan bruge
>> TRUNCATE tabel;
>
> Så skal det lige med, at man med Truncate sletter ALLE poster i tabellen.

Wops.. troede også det var det spørgeren ville frem til :)

Leif (30-01-2008)
Kommentar
Fra : Leif


Dato : 30-01-08 12:26

Leif skrev:
> Jeg er nybegynder med MySQL også her men jeg har et lille irriterende
> problem.
> Når den primære nøgle er sat til auto increment og man øver sig med at
> sætte ind og slette, vil index fortsætte uafhængig af sletninger.dvs der
> kommer nogle hop i talrækken svarende til de poster, der er fjernet.
>
> Er der en operation, hvorved nøglen kan genetableres uden de tomme huller?
>
> Jeg bruger phpadmin og har ikke en omfattende bog om MySQL.
>
> mvh
> Leif
Jeg takker for svarene, jeg havde formodet det.

Leif

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste