Avatar billede hanshenp Nybegynder
21. april 2004 - 19:42 Der er 5 kommentarer og
1 løsning

To updates, med hver deres where klausul

Hejsa, jeg sidder og funderer lidt over, hvorledes jeg vil kunne lave én mysql_query, som kører 2 updates, med hver deres where klausul. Et eksempel på hvad jeg har tænkt mig kunne være:

UPDATE table SET tal=tal+1 WHERE tal>=2
  AND
UPDATE table SET tal=2 WHERE id=1

Det skal lige siges at eksemplet er forholdsvis opdigtet, men det burde give en indsigt i hvad jeg har forestillet mig.

/sæt igang ;)
Avatar billede dsj Nybegynder
21. april 2004 - 20:12 #1
Det mener jeg absolut ikke kan lade sig gøre, du er nødt til at køre det som to seperate UPDATE's.
Avatar billede rasmusbg Nybegynder
22. april 2004 - 01:25 #2
Jeg tilslutter mig dsj.
Men hvis det er fordi, de to updates skal udføres som en udelelig blok, så skal du have gang i transaktioner.

:o)
Avatar billede dsj Nybegynder
22. april 2004 - 02:26 #3
Ja, hvis du anvender transaktioner, kan du sikre dig, at der ikke kommer andre læsninger/skrivninger ind imellem.
Avatar billede hanshenp Nybegynder
23. april 2004 - 02:52 #4
lyder til at i har en ide om, hvad i snakker om... det er til at ændre i placeringen af en række menupunkter, og det ville derfor være ret skidt hvis to brugere flytter rundt på de samme data samme tid... derfor vil jeg gerne høre lidt mere om transactions, sys ikke at jeg kan få det til at fremstå helt tydeligt ved at læse i mysql manualen...

Det skal siges at jeg bruger PHP, hvis det ikke fremgik af mit indlæg...

/hans henrik petersen
Avatar billede dsj Nybegynder
23. april 2004 - 09:26 #5
Du skal i første omgang sikre dig, at alle de tabeller hvorpå du vil bruge transaktioner, er af InnoDB-typen, ikke MyISAM.
Avatar billede hanshenp Nybegynder
21. maj 2004 - 09:36 #6
Fik det aldrig til at virke... Lavede et transaktions tjek i PHP istedet - ved godt det ikke er optimalt
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