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
3.11.2014, 12:50:47
Nie wiem jakiej bazy używasz w przypadku MySql możesz skorzystać z tego zapytania.
DELETE FROM tabela WHERE id IS NOT IN (SELECT id FROM tabela ORDER BY id ASC LIMIT 30 OFSET 0)
b4rt3kk
3.11.2014, 13:34:36
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
3.11.2014, 14:03:17
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.
DELETE FROM tabela WHERE id IS NOT IN (SELECT id FROM tabela ORDER BY id ASC LIMIT 30 OFSET 0)