Avatar billede ppstyle Nybegynder
08. februar 2002 - 17:08 Der er 5 kommentarer og
1 løsning

MySQL - opdatering med auto_increment

Da jeg bruger auto_increment til en af mine tabeller ville jeg hører hvad i gør hvis i skal opdatere auto_increment, således at en slettet række fx. række 8 er fjernet og kolonnen nu tæller 5 - 6 - 7 - 9.

Nu vil jeg gerne have opdateret kolonnen således at der IKKE er et spring fra 7 - 9.

Men at det istedet opdatere således at rækken nu hedder 5 - 6 - 7 - 8, dvs. at jeg udligner det hul der evt. opstår ved sletning af en record. I dette eksempel mellem 7 - 9.

Ved godt det er en lang smøre :)

Nogle bud ? 


mvh. Daniel
Avatar billede Noone Nybegynder
08. februar 2002 - 18:58 #1
Godt spørgsmål... Venter spændt på en løsning.....
Avatar billede ppstyle Nybegynder
08. februar 2002 - 19:10 #2
Det skal lige tilføjes, at i mit tilfælde er nummeret forbundet med en person, og at det er lige gyldigt om en person skifter nummer i forbindelse med en opdatering som i ovenstående.


mvh. Daniel
Avatar billede jhc Nybegynder
08. februar 2002 - 20:03 #3
Det kan ikke lade sig gøre at skifte værdien i et autoincrement felt - brug istedet et felt af typen integer til at indeholde placeringen.

Pseudo kode kunne være

Select * from medlemmer order by placering.

For i := 0 to Rs.RecordCount - 1 do
begin
  RS.FieldByName('Placering').AsInteger := i;
  Rs.update.
  Rs.Movenext;
end;
Avatar billede ppstyle Nybegynder
08. februar 2002 - 22:13 #4
Det betyder, at hvis man sletter en record, vil der altdi eksistere et hul, og autoincrement, vil bare fortsætte med at tælle en op, hver gang en record indsættes ???
Avatar billede mortenfn Nybegynder
08. februar 2002 - 23:25 #5
Det er korrekt du kan ikke ændre i auto_increment. auto_increment kører bare der ud af - (selvfølgelig) - det er jo den skal hvis du vil rette på det må du lave en int- kolonne og så selv styre det.
Avatar billede ppstyle Nybegynder
09. februar 2002 - 15:23 #6
ok, jeg kan se at jhc skal have pointsne, men tak for kommentarene fra jer andre.

mvh. Daniel - God weekend...
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