Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Usuwania wpisów gdy starsze niż
Forum PHP.pl > Forum > Bazy danych > MySQL
cadavre
Jak wykonać zapytanie o którym mowa w tytule, czyli usuwanie wpisów starszych niż np dwa miesiące (DATETIME)? Miałoby się to odbywać wiadomo podczas pierwszego otwarcia index.php na przykład.
Coś w stylu
  1. DELETE
  2. FROM `tabela`
  3. WHERE (aktualna DATA minus dwa miesiące > `data`)
lub
  1. DELETE
  2. FROM `tabela`
  3. WHERE (aktualna DATA minus `data` > dwa miesiące)

Myślę, że można przekształcić datetime na unixtime:
  1. unixtime(aktualna DATA) minus czas dwóch miesięcy > unixtime(`data`)


Proszę o pomoc. Jak to wykonać?
tmk
jeśli w php to wystarczy sprawdzić warunek:
  1. <?php
  2. if(date('Y-m-d',strtotime("+2 month",strtotime($date_wpisu)))< date("Y-m-d")) 
  3. ?>


jeśli w sql, to :
  1. DELETE
  2. FROM `tabela`
  3. WHERE round(months_between(sysdate, data_wpisu))=2;

ale nie jestem pewien, czy to jest obsługiwane w MySQL czy tylko w Oracle
TomASS
Cytat(cadavre @ 2006-03-03 00:44:33)
  1. DELETE
  2. FROM `tabela`
  3. WHERE (aktualna DATA minus dwa miesiące > `data`)

  1. DELETE
  2. FROM `tabela`
  3. WHERE DATE_ADD(NOW(), INTERVAL -2 MONTH) > `data`;


klik
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.