MySQL-Unterabfragelimit: Behebung des Fehlers „Diese Version von MySQL unterstützt die Unterabfrage „LIMIT & IN/ALL/ANY/SOME“ nicht“
Die bereitgestellte Abfrage versucht, Beiträge zu löschen, die nicht in den letzten 15 Einträgen enthalten sind, es tritt jedoch der Fehler auf: „MySQL unterstützt 'LIMIT & IN/ALL/ANY/SOME-Unterabfrage.'" Dies ist auf Einschränkungen in MySQL-Version 5.5.8 zurückzuführen.
Vorgeschlagene Lösung:
Um diese Einschränkung zu überwinden, verwenden Sie die folgende geänderte Abfrage:
DELETE FROM posts WHERE id not in ( SELECT * FROM ( SELECT id FROM posts ORDER BY timestamp desc limit 0, 15 ) as t);
Diese Abfrage verwendet eine verschachtelte SELECT-Anweisung, um eine Unterabfrage zu erstellen, die die IDs der abruft Die letzten 15 Beiträge. Die Hauptabfrage verwendet dann diese Unterabfrage, um die Beiträge zu identifizieren und zu löschen, die außerhalb dieses Bereichs liegen.
Erklärung:
Intern folgt die geänderte Abfrage einem zweistufigen Prozess :
Das obige ist der detaillierte Inhalt vonWie lösche ich Beiträge außerhalb der neuesten 15 in MySQL 5.5.8?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!