webForumDet fria alternativet

UPDATE med ORDER BY och LIMIT

18 svar · 325 visningar · startad av zOLOz

zOLOzMedlem sedan apr. 200297 inlägg
#1

Jag testade att använda ORDER BY och LIMIT i UPDATE-satsen, men det gick inge bra.. jag kollade på mysql.com och det borde gå..
här är min sql-fråga.

UPDATE resultat SET raknasisnitt=1 WHERE tillhor=8 ORDER BY totalt ASC LIMIT 0,20

@ndersMedlem sedan juni 200032 969 inlägg
#2

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

zOLOzMedlem sedan apr. 200297 inlägg
#3

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

@ndersMedlem sedan juni 200032 969 inlägg
#4

Jag förstår fortfarande inte vad du vill göra, men ska du verkligen ha med ORDER BY och LIMIT :q

zOLOzMedlem sedan apr. 200297 inlägg
#5

ja.. jag vill inte ändra på alla rader.. den ska ändra på dom 20 fösta raderna..

LarsGMedlem sedan dec. 200012 464 inlägg
#6

Finns bara i versionen 3.23

zOLOzMedlem sedan apr. 200297 inlägg
#7

hur ska man då göra.. uppgradera eller? :)

zOLOzMedlem sedan apr. 200297 inlägg
#8

iofs så hade jag version 3.23.51

LarsGMedlem sedan dec. 200012 464 inlägg
#9

Då borde det fungera. Hur gör du anropet? I php eller?

zOLOzMedlem sedan apr. 200297 inlägg
#10

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");
LarsGMedlem sedan dec. 200012 464 inlägg
#11

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
zOLOzMedlem sedan apr. 200297 inlägg
#12

funkade inte

LarsGMedlem sedan dec. 200012 464 inlägg
#13

Då vet jag inte. Har du testat med någon senare version?

zOLOzMedlem sedan apr. 200297 inlägg
#14

ska göra det

zOLOzMedlem sedan apr. 200297 inlägg
#15

Jag uppgraderade till senaste versionen nu (2.3.55) men det fungerade fortfarande inte. :/

zOLOzMedlem sedan apr. 200297 inlägg
#16

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

zOLOzMedlem sedan apr. 200297 inlägg
#17

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'

zOLOzMedlem sedan apr. 200297 inlägg
#18

LarsG, du som är kunnig.. hjälp mig :)

LarsGMedlem sedan dec. 200012 464 inlägg
#19

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.

124 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)