![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 7 Dołączył: 18.01.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam pytanko odnośnie usuwania wpisów. Mianowicie mam tabelę z kolumnami id tresc data_dod i jak zrobić żeby w niej zostawiać wpisy tylko z ostatnich 30 dni oraz nie więcej niż tysiąc wpisów według daty dodania. Szukałem na forum ale są rozwiązania jedynie odnośnie czasu a nie ma odnośnie ilości wpisów. Z góry dzięki za pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 15 Dołączył: 19.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
wystarczy prosta procedura ktorej cialo wyglada tak:
uzylem tutaj zmiennej current_date do przechowania biezacej daty zamiast uzywac wszedzie funkcji NOW(), dlatego ze funkcja NOW jest funkcja niedeterministyczna i musialaby byc uruchamiana dla kazdego wiersza w tabeli, a tak jest raz - dzieki czemu zyskujemy troszke na szybkosci, szczegolnie w duzych tabelach UPDATE: na poczatku zle Cie zrozumialem, dlatego podana przeze mnie procedura usunie 1000 wpisow zamiast usunac x wpisow a zostawic tylko 1000. ale juz poprawienie jej nie powinno dla Ciebie stanowic zadnego problemu. Ten post edytował osiris 2.08.2008, 17:44:13 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 7 Dołączył: 18.01.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
oczywiście pomogło - plusik dla Ciebie
dziękuję ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 16:13 |