Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak to zrobić?
Forum PHP.pl > Forum > Bazy danych > MySQL
Baksik
Siema wszystkim smile.gif
Mam taki problem, chciałbym aby wiadomości kasowały się po 14 dniach od daty dodania, jak to zrobić??

mam odpowiednia kolumne
  1. `data` varchar(32) NOT NULL DEFAULT '',


Data zapisuje się w sposób DD.MM.RRRR

I jak to zrobić żeby po 14 dniach od daty dodania się automatycznie to usuwało sad.gif pomoże ktoś?
pozdrawiam
crash
Nie da się planować zadań w samej bazie MySQL. Możesz skorzystać z cron'a, o którym było już pare razy na forum. A co do tego pola to radzę użyć DATE, będzie łatwiej na nim operować (np. dodać teo 14 dni).
Jabol
możesz przy każdym nowym uruchomieniu skryptu dawać query, która usuwa wszystkie wpisy starsze niż 14 dni. Tylko rzeczywiście zrób sobie pole typu date i nałóż na nie index, bo będzie się ostro mulić.
Baksik
dzieki za odpowiedzi smile.gif
spoko zmieniłem na date smile.gif
Jabol a jak to zapytanie ma wyglądac:( bo właśnie nie mam pojęcia sad.gif
Ja początkujący jestem jeżel ichodzi o mysql:-)
Jabol
Kurcze dokładnie nie wiem, bo nie używam mysql. Na pgsql analogiczne zapytanie wyglądałoby
  1. DELETE
  2. FROM tabela WHERE (now()::date - DATA::date)::int >= 14;
Ale o to jak to by wyglądało pod mysql musisz już kogoś innego spytać, bo ja się na tym nie znam sad.gif .
popbart
Jakoś tak smile.gif
  1. DELETE
  2. FROM tabela WHERE now() - INTERVAL 14 DAY < DATA
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.