MySQL Records jenseits vom Limit Löschen
hotti
- datenbank
hi,
meine query gibt mir alle Recs. sortiert nach Datum/Zeit desc und einem Limit. Gibt es eine query, mit der ich den Rest löschen kann?
Viele Grüße,
Horst
hi,
meine query gibt mir alle Recs. sortiert nach Datum/Zeit desc und einem Limit. Gibt es eine query, mit der ich den Rest löschen kann?
Wie meinst du das? Meinst du aus der Datenbank löschen oder bei der Ausgabe?
http://www.schattenbaum.net/php/abfrage2.php
mfg Marco
hi,
meine query gibt mir alle Recs. sortiert nach Datum/Zeit desc und einem Limit. Gibt es eine query, mit der ich den Rest löschen kann?
Wie meinst du das? Meinst du aus der Datenbank löschen oder bei der Ausgabe?
?? In der Ausgabe hab ich die, die ich löschen will doch gar nicht ;-)
Ja, ne ist klar, ich will den Rest aus der DB.tabelle löschen.
Hotte
Lösche alle Datensätze, welche nicht in der Ergebnismenge deiner LIMIT-Abfrage enthalten sind. => sub query, limit, join mal so als Stichwörter in den Raum geworfen.
Frank
Lösche alle Datensätze, welche nicht in der Ergebnismenge deiner LIMIT-Abfrage enthalten sind. => sub query, limit, join mal so als Stichwörter in den Raum geworfen.
Hmm, danke schonmal. Evntl. könnt' ich das auch anders machen. So eine Art FiFo, First in 1st out:
Immer dann, wenn ein neuer Record reinkommt, fliegt einer raus. Falls ihr noch Ideen habt, lese ich gerne.
Viele Grüße,
Horst Hausknecht
Hi,
meine query gibt mir alle Recs. sortiert nach Datum/Zeit desc und einem Limit. Gibt es eine query, mit der ich den Rest löschen kann?
Wenn du innerhalb (d)einer Sortierung vom "Anfang" an Datensätze auswählst (also LIMIT x bzw. LIMIT 0, x verwendest) - dann könntest du einfach LIMIT x+1, 18446744073709551615 verwenden.
Wenn sich dein Interval, welches du mit LIMIT herausgreifst, aber irgendwo in der Mitte befindet - dann wirst du entweder zwei DELETE-Statements feuern müssen, für den Teilbereich vor dem Interval und für den dahinter jeweils eins; oder du machst ein
DELETE FROM table
WHERE id IN (
#UNION, die dir die IDs aller Datensätze aus beiden Bereichen liefert
)
MfG ChrisB
Hi,
meine query gibt mir alle Recs. sortiert nach Datum/Zeit desc und einem Limit. Gibt es eine query, mit der ich den Rest löschen kann?
Wenn du innerhalb (d)einer Sortierung vom "Anfang" an Datensätze auswählst (also LIMIT x bzw. LIMIT 0, x verwendest) - dann könntest du einfach LIMIT x+1, 18446744073709551615 verwenden.
Ahh, verstehe, cool!!! Probier ich gleich mal aus, danke Dir ;-)
Wenn sich dein Interval, welches du mit LIMIT herausgreifst, aber irgendwo in der Mitte befindet [..]
nenene, dat ist schon ganz oben (oder ganz unten).
Vieße Grüle,
Horst Schlauberger