Avatar billede lsskaarup Nybegynder
06. oktober 2002 - 17:19 Der er 4 kommentarer og
1 løsning

insert midt i tabel og flyt de efterfølgende

Jeg har en tabel bestående af kolonneId (int og primary key), navn (varchar), placering (int).

Tabellen har nu f.eks. 10 records med fortløbende placering 1-10. Findes der en eller simpel funktion i MySQL, der kan indsætte en record midt i denne tabel, og lægge en til de records, som har en efterfølgende placering.

Eks:
vil gerne indsætte en record, men placering nr 5. De eksisterende records med placeringerne 5-10, skal der nu lægge 1 til, så de får placeringen 6-11.

Findes der en funktion, som kan dette eller skal jeg gøre det på den hårde måde som f.eks. at oprette en ny tabel, og lægge i første 4 ind fra den oprindelige derefter den nye, som så til sidst de sidste fra den oprindelige ?
Avatar billede erikjacobsen Ekspert
06. oktober 2002 - 17:26 #1
Har du ikke rækkefølgen i et andet felt?
Avatar billede lsskaarup Nybegynder
06. oktober 2002 - 17:45 #2
jeg har selv fundet ud af det. Man kan bare sige at den nye værdi i placering skal være placering + 1.

update Matrixkolonne set placering = placering+1 where placering >2
Avatar billede erikjacobsen Ekspert
06. oktober 2002 - 18:50 #3
Hvis du nogensinde skal bruge din primærnøgle som reference
fra en anden tabel, så får du problemer. Derfor ville jeg anbefale
dig at definere visningsrækkefølgen i et andet felt. Har du mange
rækker, så tager det også pænt med tid...
Avatar billede lsskaarup Nybegynder
07. oktober 2002 - 00:45 #4
hvad mener du helt præcist med at definere rækkefølgen i et andet felt ?
Avatar billede erikjacobsen Ekspert
07. oktober 2002 - 00:54 #5
Du har et felt som ikke behøver være fortløbende numre,
og som evt kan være tekst. Der skriver du "et eller andet"
som bestemmer rækkefølgen. Og så viser du det blot med
 
  select * from tabel order by felt

Men jeg på baggrund af dine oplysninger ikke gennemskue hvad
der så er smart :)
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