Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]PDO, kasowamie rekordów starszy o 30
Forum PHP.pl > Forum > Przedszkole
KsaR
Jak w temacie,
przykład: shoutbox,
przykład2: mamy 30 rekordów jak jest 31 (lub więcej) to skasuje każdy powyżej 30).

Jednak: Jak to zrobić?
Po dacie - nie wiem jak.
Po id - id może mieć skok nawet o 100. (101, 102, 103, 204)...

edit: dobra pytanie ukończone (moja głupota...)
WHERE id<id(ostatnie id po pętli do 30).
więc to pomysł jaki mi się trafił, chyba że ktoś ma lepszy.
grzes999
Nie wiem jakiej bazy używasz w przypadku MySql możesz skorzystać z tego zapytania.

  1. DELETE FROM tabela WHERE id IS NOT IN (SELECT id FROM tabela ORDER BY id ASC LIMIT 30 OFSET 0)
b4rt3kk
Od kasowania lepsze będzie po prostu ograniczenie wyświetlania wyników do 30. Prostsze, szybsze i masz dostęp do archiwum postów.
aniolekx
aby to miało sens (czyli zostawiasz 30 najnowszych), to zamiast ASC powinno być DESC

Cytat(grzes999 @ 3.11.2014, 12:50:47 ) *
Nie wiem jakiej bazy używasz w przypadku MySql możesz skorzystać z tego zapytania.

  1. DELETE FROM tabela WHERE id IS NOT IN (SELECT id FROM tabela ORDER BY id ASC LIMIT 30 OFSET 0)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.