Kom ihåg mig?

Tabellunderhåll i MySQL

 
Ämnesverktyg Visningsalternativ
Oläst 2005-07-18, 20:17 #1
aikon aikon är inte uppkopplad
Medlem
 
Reg.datum: Feb 2004
Inlägg: 277
aikon aikon är inte uppkopplad
Medlem
 
Reg.datum: Feb 2004
Inlägg: 277
Har en antal tabeller (ganska många egentligen) som byggs på med en ny rad med jämna mellanrum. För att spara diskutrymme och snabba upp access vill jag då och då rensa bort rader ur tabellerna, och då ett antal av de äldsta (första) raderna.

Det blir väl att använda en vanlig DELETE
Kod:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
    [WHERE where_definition]
    [ORDER BY ...]
    [LIMIT row_count]
Men nu är det så att tabellerna inte har något löpande id eller liknande, eller datum, så jag kan inte använda WHERE för att hitta de äldsta posterna som jag ska ta bort.

Vill höra om det fungerar att använda LIMIT utan WHERE för att åstadkomma detta?

Alltså typ

Kod:
DELETE FROM tbl_name
    LIMIT 200
för att ta bort de första 200 raderna?? Är lite osäker, eftersom referensmanualen säger

Citat:
If you issue a DELETE statement with no WHERE clause, all rows are deleted.
och det vill jag ju inte!

Eller finns något smartare sätt att göra ett sånt här underhåll på?
aikon är inte uppkopplad   Svara med citatSvara med citat
 


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 19:13.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017