[mysql] 25 records oudste verwijderen

Pagina: 1
Acties:

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 14-09 13:52
Hoe doe ik dat mysql maar 25 records laat staan en de oudste verwijdert?
of moet ik daar zelf een php scripie voor schrijven?

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:33

BierPul

2 koffie graag

Mag ik vragen wat je hier mee wil :?

* BierPul is verward :?

Ja man


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

delete from <TABLE> order by <DATUM> ASC LIMIT 25

Delete MYSQL

Hmmm alleen de "order by" is een MySQL 4.0 feature :(.... Maar ik loop graag voor uit op de zaken.. :P

Programmer - an organism that turns coffee into software.


Verwijderd

PHP:
1
2
3
4
5
6
7
8
9
10
11
<?
$oudste = mysql("$DB","SELECT ID FROM Tabel ORDER BY Datum ASC LIMIT 0,25");

while ($row = mysql_fetch_array($oudste)) {

mysql("$DB","DELETE FROM Tabel WHERE ID='$row[ID]' ");

echo "$row[Name] deleted<br>";

}
?>

zoiets ?

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 14-09 13:52
Op dinsdag 16 oktober 2001 15:46 schreef LOST_GUNT het volgende:
Mag ik vragen wat je hier mee wil :?

* Martink is verward :?
Ben bezig met stats script dus die hosts bijhoud
en dat hij niet meer dan 25 hosts in database zet

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:33

BierPul

2 koffie graag

* BierPul blijft zich afvragen waarom zou je die data willen deleten?

Je kan toch gewoon querien wat je wilt zien en wat niet...

Beetje archief is ook nooit weg :)

Ja man


  • NightBird
  • Registratie: Januari 2000
  • Laatst online: 23:55

NightBird

DPC-Crew Coding
Nee, hij wil niet de oudste 25 verwijderen ...
hij wil de nieuwste 25 bewaren, dus bij toevoegen moet de oudste weggegooid worden.
Dat moet je inderdaad in een script oplossen, lijkt mij het slimst dat te doen daar waar je ook toevoegt.

WatHoorJeWaar · Asobakken
Eerdere projecten: Leading Courses · Brandstof-zoeker.nl · Voertuig-zoeker.nl


  • CrazyA
  • Registratie: Juli 2000
  • Laatst online: 06-09 10:55
Limit is wat je nodig hebt.

Verwijderd

Waarom zou je dan niet gewoon bij het toevoegen van een nieuwe host aan de tabel, telkens de oudste weggooien, op het moment dat de betreffende tabel 25 rijen telt?

Dus gewoon met een COUNT(<HOSTS>) == "25" in je <WHERE> clause... done..

Lijkt me een stuk simpeler, en intuitiever...

Of je kunt het oplossen met 1 en dezelfde query door gewoon een update te doen van row met de oudste host in de tabel...
Daarbij zet zet je dan opnieuw de tijd/datum zodat je oudste kolom je nieuwste wordt...
Pagina: 1