Forum » Server-Side scripting » Key order statement
Since CS V1
Berichten: 58
avatar
Offline Stuur privebericht
Beste CPers,

Ik heb een vraag over een eventueel bestaand MySQL command. Stel ik heb een tabel waar ik een hoop waardes uit heb verwijderd. Bestaat er dan een MySQL command die er voor zorgt dat al mijn key-waardes weer op volgorde staan?

Voorbeeld:

ID Naam
1 Joep
2 Klaas
3 Henk
4 Piet
5 Jan

Nu verwijder ik klaas en piet en krijg ik dus het volgende;

ID Naam
1 Joep
3 Henk
5 Jan

Bestaat er dan een MySQL command waarmee ik het volgende voor elkaar krijg;

ID Naam
1 Joep
2 Henk
3 Jan

Groeten Joker.
22-07-2011 13:04
Dit topic is 159 keer bekeken door 28 verschillende leden
Reacties op: "Key order statement"
1
nyan nyan nyan nyan
Berichten: 2076
avatar
Offline Stuur privébericht
Voor zover ik weet is dat er niet. Wat je kan doen, is een script schrijven die alles behalve het ID ophaalt, en die zonder ID (dus met auto-increment) weer toevoegd in dezelfde tabel nadat je deze hebt leeggemaakt. Maar wat is wijsheid...

Waarom zou je dat willen overigens? Als er andere tabellen naar een gebruiker_id verwijzen, moet je die ook aanpassen. Dan blijf je aan de gang, daar kom je gewoon simpelweg niet doorheen.
22-07-2011 14:09
world-of-maffia.nl
Berichten: 744
avatar
Offline Stuur privébericht
je kan het doen.. maar dan moet je zelf handmatig alles op volgorde zetten!!
22-07-2011 14:22
Since CS V1
Berichten: 58
avatar
Offline Stuur privébericht
Quote: Jannick

Voor zover ik weet is dat er niet. Wat je kan doen, is een script schrijven die alles behalve het ID ophaalt, en die zonder ID (dus met auto-increment) weer toevoegd in dezelfde tabel nadat je deze hebt leeggemaakt. Maar wat is wijsheid...

Waarom zou je dat willen overigens? Als er andere tabellen naar een gebruiker_id verwijzen, moet je die ook aanpassen. Dan blijf je aan de gang, daar kom je gewoon simpelweg niet doorheen.




Als je een database hebt met enorm veel waardes is het handig alles op volgorde te hebben. Het is namelijk mogelijk het maximum aantal characters of de maximale waarde te behalen. Als dat het geval is in een database dan kan hij geen nieuwe rijen meer toevoegen.
22-07-2011 15:43
nyan nyan nyan nyan
Berichten: 2076
avatar
Offline Stuur privébericht
Als je een ID hebt met een unsigned BIGINT, dan kan je maximaal 18446744073709551615 records toevoegen. Zegge 18 quintiljoen, 446 quadriljoen, 744 triljoen, 73 biljoen, 709 miljoen, 551 duizend en 615 eenheden. Ik denk niet dat je daaraan in normale gevallen komt.. Fouten voorbehouden btw
22-07-2011 16:56
world-of-maffia.nl
Berichten: 744
avatar
Offline Stuur privébericht
das idd veel!
22-07-2011 17:01
Berichten: 866
avatar
Offline Stuur privébericht
Volgens mij wel...

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
$id 0;
while (
$a $v->fetch_array(MYSQLI_ASSOC))
{
 
$id++;
 
// overigen en id = $id
}
22-07-2011 18:14
Webdeveloper & Programmeu
Berichten: 1001
avatar
Offline Stuur privébericht
wanneer je een primary key + auto_increment doe is het niet eens verstandig om dit te gaan doen, aangezien je niks voor niks een id mee geef!

Denk is even aan je koppeltabellen waar je die id gebruikt, die moet je dan ook veranderen, te veel querys te veel load, website sloom.
22-07-2011 18:55
Since CS V1
Berichten: 58
avatar
Offline Stuur privébericht
Quote: NielsB

wanneer je een primary key + auto_increment doe is het niet eens verstandig om dit te gaan doen, aangezien je niks voor niks een id mee geef!

Denk is even aan je koppeltabellen waar je die id gebruikt, die moet je dan ook veranderen, te veel querys te veel load, website sloom.



Je hoeft niet altijd koppeltabellen te hebben bij primary keys met een AI. Denk aan een simpele verwijzing als de volgende; profiel.php?id=4

Quote: Malik


Volgens mij wel...

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
$id 0
while (
$a $v->fetch_array(MYSQLI_ASSOC)) 

 
$id++; 
 
// overigen en id = $id 
}



Niet precies wat ik bedoel maar toch bedankt.

Quote: Jannick


Als je een ID hebt met een unsigned BIGINT, dan kan je maximaal 18446744073709551615 records toevoegen. Zegge 18 quintiljoen, 446 quadriljoen, 744 triljoen, 73 biljoen, 709 miljoen, 551 duizend en 615 eenheden. Ik denk niet dat je daaraan in normale gevallen komt.. Fouten voorbehouden btw



Nooit aan gedacht. In principe moet je altijd uitgaan van een oneindig aantal leden, maar 18 quintiljoen, 446 quadriljoen, 744 triljoen, 73 biljoen, 709 miljoen, 551 duizend en 615 komt voor mij dicht genoeg bij oneindig.
Bedankt voor de tip ^^
22-07-2011 19:51
Reageer op: "Key order statement"
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden