Vill ta bort alla inlägg som är äldre än dom 30 nyaste...
får det inte att fungera...
SQL = "DELETE FROM mess Order by datum Desc limit 30"
får bara:
[TCX][MyODBC]You have an error in your SQL syntax near 'order by datum DESC limit 30' at line 1
(MySQL)
OveRRidEMedlem sedan feb. 200112 078 inlägg Flyttas från ASP, VBScript.
SPiNMedlem sedan mars 20007 896 inlägg Vilken version av MySQL använder du?
DELETE FROM mess
WHERE id NOT IN (
SELECT id
FROM mess
ORDER BY id DESC
LIMIT 30
);
hmmm funkade inte så bra det där heller... har 3.14 eller något sådant tror jag...
LarsGMedlem sedan dec. 200012 464 inlägg Då får du först hämta de 30 med nyaste ID och sedan bygga
en delete fråga
delete from t where id not in (1,2,47,11,34,...)
det går inte bara att ta bort dom som är äldre en dom 30 nyaste?
om inte, hur ska man ta reda på dom 30 nyaste id nummrena då? på ett smidigt sett?
@ndersMedlem sedan juni 200032 969 inlägg SELECT ID FROM mess ORDER BY ID DESC LIMIT 30
okey... hur ska jag köra på den sen då? behöver jag inte loopa ut dom 30 då?
och sen köra dom i delete sql frågan?
@ndersMedlem sedan juni 200032 969 inlägg Jo, du måste loopa ut dem till en kanonläcker sträng som du sedan använder i din DELETE-fråga.
fyfan alltså... vad onödigt... och detta bara för man inte har den senaste versionen?
hmm... ska försöka fixa loopen och det när jag kommer hem då...
hmm... hur ska den se ut ungefär?
@ndersMedlem sedan juni 200032 969 inlägg typ:
' öppna connectionobjekt
' öppna recordsetobjekt
while not recordsetobjektet.eof
strIDs = strIDs & "," & recordsetobjektet(0)
recordsetobjektet.movenext
wend
strIDs = Right(strIDs, Len(strIDs)-1)
aspMedlem sedan aug. 2002733 inlägg Fråga, går inte detta?
DELET TOP 30 * FROM [tabell] ORDER BY id ASC