Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Usuwanie rekodru po czasie
Forum PHP.pl > Forum > Przedszkole
xx88zg
Witam, mam coś takiego:
  1. <?php
  2.  
  3. $kasuj = "DELETE FROM dane WHERE DATE_SUB( NOW( ) , INTERVAL 3 MINUTE ) > added";
  4.  
  5. $pyt12 = mysql_query($kasuj);
  6.  
  7. ?>


W moim założeniu miało usunąć ostatni rekord po 3 minutach, a w rzeczywistości usuną całą zawartość tabeli dane natychmiast.

Proszę nie krzyczeć - jestem początkujący i może być to napisane nie w tym temacie. Wiem że ten kod jest z błedem i pewno do tego banalnym, ale w SQL zaczynam dopiero raczkować, dlatego wybaczacie.
wipo
Patrzyłeś może co zwraca funkcja
  1. DATE_SUB( NOW( ) , INTERVAL 3 MINUTE ) ?

Jaki format daty ma pole added?
xx88zg
Format daty jest następujący 2008-02-23 09:39:15

a co zwraca funkcja data_sub nie znalazłem sad.gif
nevt
EDIT: sorki za zamieszanie - pomyliłem funkcje...

Ale mam zasadnicze pytanie - co chcesz skasować - rekordy starsze niż 3 minuty, czy rekordy z ostatnich 3 minut ?
xx88zg
Chcem skasować wszystkie rekordy które mają równo są starsze niż 7 dni.
nevt
w takim razie powinno hulać:
  1. DELETE FROM `dane` WHERE DATEDIFF(NOW(), `added`) >= 7;
Gość
Ten kod jest dla 7 dni to jak zrobić to dla np. 2 godzin

myślałem aby 7 zastąpić 30 hours ale to jest nie logiczne
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.