Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Usuwanie rekodru po czasie
xx88zg
post
Post #1





Grupa: Zarejestrowani
Postów: 52
Pomógł: 1
Dołączył: 8.02.2007
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


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.

Ten post edytował xx88zg 23.02.2008, 00:22:09
Go to the top of the page
+Quote Post
wipo
post
Post #2





Grupa: Zarejestrowani
Postów: 856
Pomógł: 19
Dołączył: 30.08.2005
Skąd: 100lica

Ostrzeżenie: (0%)
-----


Patrzyłeś może co zwraca funkcja
  1. DATE_SUB( NOW( ) , INTERVAL 3 MINUTE ) ?

Jaki format daty ma pole added?

Ten post edytował wipo 23.02.2008, 08:57:49
Go to the top of the page
+Quote Post
xx88zg
post
Post #3





Grupa: Zarejestrowani
Postów: 52
Pomógł: 1
Dołączył: 8.02.2007
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


Format daty jest następujący 2008-02-23 09:39:15

a co zwraca funkcja data_sub nie znalazłem (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
nevt
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


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 ?

Ten post edytował nevt 23.02.2008, 11:43:31
Go to the top of the page
+Quote Post
xx88zg
post
Post #5





Grupa: Zarejestrowani
Postów: 52
Pomógł: 1
Dołączył: 8.02.2007
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


Chcem skasować wszystkie rekordy które mają równo są starsze niż 7 dni.
Go to the top of the page
+Quote Post
nevt
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


w takim razie powinno hulać:
  1. DELETE FROM `dane` WHERE DATEDIFF(NOW(), `added`) >= 7;
Go to the top of the page
+Quote Post
-Gość-
post
Post #7





Goście







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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.12.2025 - 03:38