Heim >Datenbank >MySQL-Tutorial >Wie lösche ich Beiträge außerhalb der neuesten 15 in MySQL 5.5.8?

Wie lösche ich Beiträge außerhalb der neuesten 15 in MySQL 5.5.8?

Barbara Streisand
Barbara StreisandOriginal
2024-11-11 15:13:03589Durchsuche

How to Delete Posts Outside the Latest 15 in MySQL 5.5.8?

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 :

  1. Es wird eine temporäre Tabelle erstellt, dargestellt durch den Unterabfrage-Alias ​​„t“, die die IDs der neuesten Version enthält 15 Beiträge.
  2. Die Hauptabfrage verwendet dann diese temporäre Tabelle, um die Beiträge herauszufiltern, deren IDs nicht in der Unterabfrage vorhanden sind, wodurch die gewünschte Löschung erreicht wird.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn