AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP/MySQL] Anzahl der Datensätze begrenzen
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP/MySQL] Anzahl der Datensätze begrenzen

Ein Thema von malo · begonnen am 29. Okt 2006 · letzter Beitrag vom 29. Okt 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#1

[PHP/MySQL] Anzahl der Datensätze begrenzen

  Alt 29. Okt 2006, 19:30
Moins,

wie kann ich in einer MySQL-Tabelle die Anzahl der Datensätze begrenzen? Es geht speziell darum, dass ich eine Tabelle hab, die relativ schnell sehr groß wird (die Tabelle wird zum Loggen von verschiedenen Ereignissen benutzt, und wächst so sehr schnell). Es soll, sobald eine bestimmte Anzahl von Tabellenreihen erreicht ist, der älteste Eintrag (alles sortiert nach Datum) gelöscht werden... Wie mach ich das am besten?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: [PHP/MySQL] Anzahl der Datensätze begrenzen

  Alt 29. Okt 2006, 19:31
LIMIT
Markus Kinzler
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#3

Re: [PHP/MySQL] Anzahl der Datensätze begrenzen

  Alt 29. Okt 2006, 19:36
Untersützt dein MySQL Trigger? (Tut das überhaupt eine Version? )

Wenn ja, platzier einen BEFORE INSERT-Trigger mit dem entsprechenden Delete-Kommande, wenn "SELECT Count(ID) FROM table > irgendwas" ist.. Ansonsten musst du separate Statements schicken.
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#4

Re: [PHP/MySQL] Anzahl der Datensätze begrenzen

  Alt 29. Okt 2006, 19:46
Zitat von mkinzler:
LIMIT
Kann man damit die Anzahl der Datensätze in der Tabelle begrenzen? Ich dachte immer, damit kann man nur begrenzen wieviele man auslesen will
Wenn es funktioniert... wie lösch ich dabei immer den ältesten Eintrag (= den mit dem niedrigsten Date-Wert)? Es soll ja nicht irgendeiner gelöscht werden...

Zitat von Dax:
Untersützt dein MySQL Trigger? (Tut das überhaupt eine Version? )

Wenn ja, platzier einen BEFORE INSERT-Trigger mit dem entsprechenden Delete-Kommande, wenn "SELECT Count(ID) FROM table > irgendwas" ist.. Ansonsten musst du separate Statements schicken.
Wie geht das im Einzelnen? Ich kenn mich leider nicht so gut mit MySQL aus
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: [PHP/MySQL] Anzahl der Datensätze begrenzen

  Alt 29. Okt 2006, 19:47
Ich würde auch mittels COUNT die Anzahl der Datensätze ermitteln und anschließend ggf. ein weiteres Query mittels DELETE foo WHERE timestamp ... ausführen.
LIMIT bringt nur dann etwas, wenn du eine begranzte Anzahl an Datensätzen auslesen möchtest.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: [PHP/MySQL] Anzahl der Datensätze begrenzen

  Alt 29. Okt 2006, 19:48
Zitat:
mkinzler hat folgendes geschrieben:
LIMIT


Kann man damit die Anzahl der Datensätze in der Tabelle begrenzen? Ich dachte immer, damit kann man nur begrenzen wieviele man auslesen will Grübelnd...
Hatte die Frage falsch verstanden.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#7

Re: [PHP/MySQL] Anzahl der Datensätze begrenzen

  Alt 29. Okt 2006, 19:51
Zitat von Matze:
Ich würde auch mittels COUNT die Anzahl der Datensätze ermitteln und anschließend ggf. ein weiteres Query mittels DELETE foo WHERE timestamp ... ausführen.
Sowas dachte ich mir auch, aber wie ermittle ich den niedrigsten Datewert?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: [PHP/MySQL] Anzahl der Datensätze begrenzen

  Alt 29. Okt 2006, 19:52
MIN()
Markus Kinzler
  Mit Zitat antworten Zitat
29. Okt 2006, 19:58
Dieses Thema wurde von "alcaeus" von "Programmieren allgemein" nach "Datenbanken" verschoben.
Auch wenn der Zugriff ueber PHP erfolgt, es geht immer noch um Datenbanken
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#10

Re: [PHP/MySQL] Anzahl der Datensätze begrenzen

  Alt 29. Okt 2006, 20:09
Ich würde es so machen:

Einfügen des Logs
Nachschauen wie viele Datensätze vorhanden sind
Überflüssige löschen

Löschen geht mit:

Herausfinden welcher der letzte Eintrag ist welcher bleiben soll:
SELECT id,timestamp FROM datenbank WHERE 1 ORDER BY timestamp DESC LIMIT x,1 // x ist die Anzahl wie viele Maximal da sein sollen
dann hast du die ID und den Timestamp vom letzten und kannst alle löschen wo der Timestamp kleiner ist als der.


Ich hoffe, das klappt so ist nämlich nur eine grobe Überlegung gewesen


Flare
Willy Scheibel
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz