Usuwanie starych rekordów po przekroczeniu liczby

Odpowiedz Nowy wątek
2011-09-23 20:18
Tymo
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 :)

Pozostało 580 znaków

2011-09-23 20:25
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ę!

Pozostało 580 znaków

2011-09-24 12:37
Tymo
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.

Pozostało 580 znaków

2011-09-26 11:03
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.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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

Robot: Bingbot