Avatar billede radion Nybegynder
09. april 2006 - 15:32 Der er 13 kommentarer og
1 løsning

problem med mysql update

UPDATE tbl_files SET f_sort = f_sort +1 WHERE f_sort <1 AND f_menutype = '1' AND f_menuid = '0' ORDER BY f_sort DESC  Limit 1

Hvor er fejlen i ovenstående?
hvis jeg fjerner "Order by f_sort desc" virker det fint nok?

Ifølge http://dev.mysql.com/doc/refman/5.0/en/update.html burde man da kunne bruge order?

mvh. Radion
Avatar billede radion Nybegynder
09. april 2006 - 15:33 #1
jeg får i øvrigt fejlen: #1064 - You have an error in your SQL syntax near 'order by f_sort desc' at line 1
Avatar billede erikjacobsen Ekspert
09. april 2006 - 15:42 #2
Den fejl vil typisk komme når du mangler '0'  lige før ORDER BY. Er du helt sikker på sql-sætningen ser ud som den gør? Virker den hvis du udfører den som den står udenom PHP (eller i phpmyadmin eller lignende) ?
Avatar billede radion Nybegynder
09. april 2006 - 15:45 #3
Det skulle jeg mene...

Kunne ikke udføre: Update tbl_files Set f_sort=f_sort+1 where f_sort<2 AND f_menutype='1' AND f_menuid='0' order by f_sort limit 1
Fejlen er: You have an error in your SQL syntax near 'order by f_sort limit 1' at line 1
Avatar billede radion Nybegynder
09. april 2006 - 15:45 #4
jeg får også fejl i phpmyadmin
Avatar billede radion Nybegynder
09. april 2006 - 15:50 #5
Jeg har prøvet at simplificere den til
"Update tbl_files Set f_sort='2' where f_sort='4' order by f_sort limit 1"

og jeg får stadig fejl...
Avatar billede radion Nybegynder
09. april 2006 - 15:51 #6
og det gælder stadig, at hvis jeg fjerner "order by f_sort" så kører den igennem...
Avatar billede erikjacobsen Ekspert
09. april 2006 - 15:51 #7
Og jeg har lavet een der virker
update stud_country set d=d+0.5 where country_id='2' AND d>'9' order by stud_id limit 1

Min sql er 5.0.xx etellerandet. Hvad er din?
Avatar billede erikjacobsen Ekspert
09. april 2006 - 15:52 #8
Og min tabeltype er innodb. Din?
Avatar billede radion Nybegynder
09. april 2006 - 15:55 #9
min er sat til MYSAM
og jeg kører en 3.23.47 ( af uransagelige årsager... )

men, det skulle være samme syntax...
http://dev.mysql.com/doc/refman/4.1/en/update.html
Avatar billede radion Nybegynder
09. april 2006 - 15:58 #10
MyISAM anyway
Avatar billede erikjacobsen Ekspert
09. april 2006 - 16:00 #11
Nej, på din side du linker til:  "If an UPDATE statement includes an ORDER BY clause, the rows are updated in the order specified by the clause. ORDER BY can be used from MySQL 4.0.0."

Men, øh, 3.23.47 ... ok, der er også nogen få, der kører rundt i veteranbiler... ;)
Avatar billede radion Nybegynder
09. april 2006 - 16:02 #12
DOH...

så kan jeg lære det :) tid til at få opdateret ;)  der er jo ingen grund til at reparere noget der virker... eller... smid en svar :) og fortsat god palmesøndag :)
Avatar billede erikjacobsen Ekspert
09. april 2006 - 16:04 #13
Ellers tak, jeg samler slet ikke på point, og regner ikke men at få en god søndag (jeg skal til at gøre rent). Svar selv, accepter eget svar.
Avatar billede radion Nybegynder
09. april 2006 - 16:05 #14
javel ja.. ja, det skal jo gøres det rengøring :)

tak for hjælpen i hvert fald så :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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