Usuwanie starych rekordów po przekroczeniu liczby

0

Witam. Tworzę prosty shoutbox w php działający w bazie danych mysql. Wyświetla on 10 ostatnich wpisów i teraz mam taki problem: jak automatycznie usuwać stare wpisy (rekordy w bazie danych) tzn. wszystkie rekordy oprócz tych dziesięciu wyświetlonych (najnowszych)?
Szukałem już na forum i w google ale nic takiego nie znalazłem.
Dzięki i czekam na Wasza pomoc :)

0
  1. przy wstawianiu nowego, usuwasz ten jedenasty, czy też wszystkie ponad te 10 które chcesz wyświetlać
  2. jakiś cyklicznie uruchamiany mechanizm (np. raz dziennie w nocy) który będzie usuwał nadwyżkowe rekordy
    ale nie wiem po co, jeśli można w select dać odpowiedni limit i order - nie pytaj tylko jak, a przeczytaj dokumentację!
0

Jeśli chodzi o usuwanie tego jedenastego rekordu przy dodawaniu nowego to myślę, że to zły pomysł. Lepszym jest zaznaczenie wszystkich rekordów z pominięciem tych dziesięciu wyświetlonych. Problem w tym, że nie wiem ja ma wyglądać ich zaznaczenie. Jestem niestety początkującym w tym i trudno mi to zrobić. Więc jeżeli ktoś mógłby mi dać jakieś dokładniejsze wskazówki to będę bardzo wdzięczny. Dziękuję i czekam na dalsza pomoc.

0

LIMIT
http://dev.mysql.com/doc/refman/5.6/en/delete.html jak widzisz w delete nie można zakresu podać tylko max liczbę wierszy do usunięcia, ale
http://dev.mysql.com/doc/refman/5.6/en/select.html w select można użyć LIMIT do przefiltrowania jak chcesz rekordów, wybierasz ich id, a następnie w delete używasz tych id'ków
Oczywiście robi się to jako jedno zapytanie. Jedne statement.

1 użytkowników online, w tym zalogowanych: 0, gości: 1