Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kasowanie nadmiaru danych
Spirit86
post
Post #1





Grupa: Zarejestrowani
Postów: 607
Pomógł: 23
Dołączył: 8.09.2004
Skąd: Wrocław

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


Mam problem, chcę skasować nadmair wpisów do bazy danych.

Na początku wypisuję wszystkie rekordy za pomocą pętli. Zliczam je. Po czym chcę skasować nadmiar, wykonuje polecenie

  1. DELETE
  2. FROM `tabela` WHERE costam='costaminnego' ORDER BY `date` ASC LIMIT 1*

* - Limit: 1 wziął się z LiczbaRekordów - MaksymalnaLiczbaRekordów, wcześniej założyłem, że ta liczba jest dodatnia.
Zapytanie jest poprawne, do tego momentu:

  1. DELETE
  2. FROM `tabela` WHERE costam='costaminnego' LIMIT 1


Nie mogę dodać ważnego wpisu:
  1. ORDER BY `date`
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zbig13
post
Post #2





Grupa: Zarejestrowani
Postów: 214
Pomógł: 0
Dołączył: 3.04.2004
Skąd: Legionowo

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


No bo ORDER BY jest tylko do zapytania SELECT, bo przecież sortowanie przydaje się głównie przy wyświetlaniu wyników, a nie przy kasowaniu ich. Jeśli chcesz wykasować dane, o konkretnej dacie, to możesz najpierw wybrać je SELECTEM, a potem wykasować.

  1. <?php
  2.  
  3. $zapytanie = "SELECT * FROM 'tabela' WHERE costam='costaminnego' ORDER BY date LIMIT 1";
  4. $wynik = mysql_query ($zapytanie);
  5.  
  6. while ($row = mysql_fetch_array($wynik, MYSQL_ASSOC)) {
  7.  $del_query = "DELETE FROM 'tabela' WHERE costam='costaminnego' AND date='".$row['date']."'";
  8.  $del = mysql_query ($del_query);
  9. }
  10.  
  11. ?>
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: 3.10.2025 - 05:01