Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL] obciecie wpisow powyzej 30 co do czasu powstania
hhg
post 23.08.2007, 11:38:39
Post #1





Grupa: Zarejestrowani
Postów: 316
Pomógł: 0
Dołączył: 5.07.2006

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


mam tabele w MySQL z logami, i chcę żeby wpisy nie mieszczace sie w ostatnich 30 co do wprowadzenia byly usuwane

niestety w niektorych wersjach MySQL zapytanie:

  1. DELETE FROM logs WHERE id NOT IN (SELECT id FROM logs WHERE end_date IS NULL ORDER BY begin_date LIMIT 0, 30)

nie działa bo 'zabrania sie stosowania LIMIT w subquery..

czy da sie to jakos obejsc?

struktura bazy to:
  1. CREATE TABLE `logs` (
  2. `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `sid` varchar(32) NOT NULL,
  4. `ip` varchar(15) NOT NULL,
  5. `host` varchar(100) NOT NULL,
  6. `begin_date` datetime NOT NULL,
  7. `end_date` datetime DEFAULT NULL,
  8. PRIMARY KEY (`id`)
  9. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;
Go to the top of the page
+Quote Post
phpion
post 23.08.2007, 11:57:49
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Wydaje mi sie, że wystarczy coś takiego:
  1. DELETE FROM logs ORDER BY begin_date ASC LIMIT 30 ;
Go to the top of the page
+Quote Post
hhg
post 23.08.2007, 12:14:55
Post #3





Grupa: Zarejestrowani
Postów: 316
Pomógł: 0
Dołączył: 5.07.2006

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


i to nie obetnie czasem najnowszych 30?

wiem ze moge przetestowac ale nie mam na czym to nie moge sobie pozwolic na wywalenie tych wpisow
Go to the top of the page
+Quote Post
drPayton
post 23.08.2007, 13:27:03
Post #4





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Zrobiłem to za Ciebie - działa jak należy.

Edit: Najnowsze 30 wywaliłoby, gdybyś wstawił tam DESC zamiast ASC

Ten post edytował drPayton 23.08.2007, 13:28:13
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 16.06.2025 - 19:20