FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Klarade millennium-buggen
|
Har en tabell med ett par variabler. Primära nyckeln är ett vanligt index, som just nu löper mellan 1-25000, då många element har blivit suddade mm. Antal rader ligger på 2700. Skall sälja databasen så jag vill att den skall se snyggt ut. Finn det enkelt mysql kommando (utan att skriva ett kort php script) som sätter indexen snyggt i ordning från 1-2700 istället??
mySQL var det.... |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Nykomling
|
Utan att veta, men min gissning är att det inte finns ngt kommando - av den anledningen att värdet på en autoinc primary key aldrig SKA ha ngn egentlig betydelse. Det ska ju liksom inte spela ngn roll om värdet är 123 eller 589012. Men detta vet du säkert redan - det är inte min mening att mästra dig - bara försöka motivera min gissning att det inte finns ngt sådant kommando.
Har du inga kopplingar mot andra tabeller kan du ju typ Göra "alter table" och ta bort primary key constrainten (samt autoincrement) lägga till en ny kolumn (kalla den id2) som PK och autoinc. Nu har id2 en fin nummerserie. Efter detta ta bort den första kolumnen och göra rename på id2 till id eller vad du nu kallade den första. OBS: Har du kopplingar från andra tabeller uppdateras ju dessa inte med det nya värdet = då funkar inte detta. Så jag skulle nog börja knacka ett litet PHP script som fixar kopplade tabeller också? |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Klarade millennium-buggen
|
Ja, tack ändå för svaret. Blev lite tröt tpå att leta. Detta var en enda databas med en enda tabell. Vilel bara att den skulle se snyggare ut vid försäljning. Skrev ett php script som överförde raderna till en annan likadan tabell. Tog 5 rader och 10 minuter att skriva. Tack ändå, trodde kanske det fanns ett kommando jag hade missat som kunde snygga till det på ett enkelt sätt utan att skriva kod. Men nu är det klart.....
Din lösning skulle nog gått fortare ändå. |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Klarade millennium-buggen
|
Satans man är korkad ibland. Bara att droppa hela fältet med det primäta nyckeln och sedan skapa ett nytt likadant med primärnyckel och auto-increment så löser det sig. VIlket pucko man är. Jag får skylla på att det är fredag
![]() |
||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Mycket flitig postare
|
Om du ändå skapade en ny tabell hade ju detta varit enklare...
Kod:
insert into new_table(all columns except PK) select all columns except primary key from old_table Som bonus kan du ju krydda med en order by för att få siffrorna i någon pervers ordning... |
||
![]() |
![]() |
Svara |
|
|