Avatar billede 0verwrite Nybegynder
17. august 2004 - 13:34 Der er 5 kommentarer

byt id på 2 rows

Jeg har et tabel med en masse rows - jeg har opbygget det med ID (Unik + auto_increment)

Jeg vil nu lave en simpel funktioner til at bytte om på 2 ID'er...

eks:

ID: 300 skal byttes om med ID 400
findes der en smart måde at gøre dette på?
kan selvfølgelig give id 300 et nyt id (X) og ændre 400 til 300 og derefter ændre (X) til 400 *men findes der ikke en smart'r måde at gøre dette på* ?

håber i er med på hvad jeg mener og lige har en query på lager!
Avatar billede arne_v Ekspert
17. august 2004 - 13:45 #1
Nej.

Det er en helt klassisk måde at lave swap på.
Avatar billede proaccess Nybegynder
17. august 2004 - 13:47 #2
Umiddelbart vil jeg sige at dit eget forslag er måden at gøre dette på...

MEN i lyset af at du angiver præcist disse 2 værdi'er, så kan du jo prøve med dette:

UPDATE tabelNavn
SET ID = ID + ((350 - ID) * 2)
WHERE ID = 300 OR ID = 400
Avatar billede 0verwrite Nybegynder
17. august 2004 - 13:49 #3
nej det var nu kun eks... skal bruge en funktion...
Avatar billede el-installatoer Nybegynder
15. september 2004 - 11:23 #4
jeg må lige først sige at jeg er rimelig grøn i MySQL men kender en masse til PLC programmering og har erfaret at mange funktioner går igen, sproget er dog lidt anderledes.
Hvis der findes en funktion som du ønsker vil mit bud være noget i retning af

change(ID300,ID400);

jeg har endnu ikke styr nok på stoffet til at afprøve, er stadig i en bog.

pøj pøj
Avatar billede arne_v Ekspert
18. september 2004 - 14:53 #5
SQL er et sprog til at arbejde med relationelle databaser - ikke et
egentligt programmerings sprog.
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