Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL] obciecie wpisow powyzej 30 co do czasu powstania
hhg
post
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
 
Start new topic
Odpowiedzi
drPayton
post
Post #2





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

Posty w temacie


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: 27.12.2025 - 22:32