UPDATE med ORDER BY och LIMIT
18 svar · 325 visningar · startad av zOLOz
På vilket sätt fungerar det inte?
(Jag är inte säker på att jag förstår vad du vill göra heller, så förklara gärna)
mvh
när jag kör UPDATE resultat SET raknasisnitt=1 WHERE tillhor=8 ORDER BY totalt ASC LIMIT 0,20 så står det:
MySQL sa:
You have an error in your SQL syntax near 'ORDER BY totalt ASC LIMIT 0,20' at line 1
Jag förstår fortfarande inte vad du vill göra, men ska du verkligen ha med ORDER BY och LIMIT :q
ja.. jag vill inte ändra på alla rader.. den ska ändra på dom 20 fösta raderna..
Finns bara i versionen 3.23
hur ska man då göra.. uppgradera eller? :)
iofs så hade jag version 3.23.51
Då borde det fungera. Hur gör du anropet? I php eller?
ja.. php, så här ser det ut
mysql_query("UPDATE resultat SET raknasisnitt=1 WHERE tillhor=8 ORDER BY totalt ASC LIMIT 0,20");
Nu famlar jag. I syntaxbeskrivningen står det bara
limit # dvs att man kan bara ange ett nummer. Blir det bättre med
UPDATE resultat SET raknasisnitt=1 WHERE tillhor=8 ORDER BY totalt ASC LIMIT 20
funkade inte
Då vet jag inte. Har du testat med någon senare version?
ska göra det
Jag uppgraderade till senaste versionen nu (2.3.55) men det fungerade fortfarande inte. :/
jag kom iaf på fram till att det skulle vara som du sa, LarsG, att man ska ha LIMIT 20 och inte LIMIT 0,20
Nu klagar den bara på ORDER BY anropet.. i UPDATE syntaxen så står det ju:
UPDATE [LOW_PRIORITY] [IGNORE] tbl_name
SET col_name1=expr1 [, col_name2=expr2, ...]
[WHERE where_definition]
[ORDER BY ...] <--
[LIMIT #]
så det borde ju fungera
ingen som vet?
det var nån som nämnde att man kanske måste ha med 'totalt' i SET eller UPDATE grejjen för att man skulle kunna sortera efter 'totalt'
LarsG, du som är kunnig.. hjälp mig :)
Jag vet inte mer än vad som står i dokumentationen. Jag sökte lite och hittade en sida där det stod att innan 4.0.1 så gick det bara att använda limit i update och inte order by.