mysql: Alle Datensätze außer den letzten X löschen
basti_p
- datenbank
1 Vinzenz Mai0 basti_p
Hallo,
kann ich mit einem Statement alle Datensätze außer den 5 aktuellsten löschen?
Mein Versuch:
DELETE FROM table WHERE uid IN(SELECT uid FROM table ORDER BY last_change ASC LIMIT 5,100)
schlägt leider fehlt:
#1235 - This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery' (MySQL Server Version: 5.1.37)
Welche andere Möglichkeiten/Tricks gibt es?
Vielen Dank, Grüße Basti
Hallo,
kann ich mit einem Statement alle Datensätze außer den 5 aktuellsten löschen?
Welche andere Möglichkeiten/Tricks gibt es?
z.B. eine Stored Procedure:
Sperre die Tabelle
Ermittle die Anzahl der Datensätze
DELETE mit ORDER BY und LIMIT
Hebe Sperre auf
Freundliche Grüße
Vinzenz
Hallo,
z.B. eine Stored Procedure:
Damit hatte ich bislang noch nichts zu tun - werde ich mir gleich mal ansehen, vielen Dank!
Grüße Basti