Maison > base de données > tutoriel mysql > Comment supprimer les publications en dehors des 15 dernières dans MySQL 5.5.8 ?

Comment supprimer les publications en dehors des 15 dernières dans MySQL 5.5.8 ?

Barbara Streisand
Libérer: 2024-11-11 15:13:03
original
585 Les gens l'ont consulté

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

Limite de sous-requête MySQL : résolution de l'erreur « Cette version de MySQL ne prend pas en charge la sous-requête "LIMIT & IN/ALL/ANY/SOME"

La requête fournie cherche à supprimer les publications non incluses dans les 15 dernières entrées, mais elle rencontre l'erreur "MySQL ne prend pas encore en charge la sous-requête 'LIMIT & IN/ALL/ANY/SOME.'" Cela est dû aux limitations de la version MySQL. 5.5.8.

Solution proposée :

Pour surmonter cette limitation, utilisez la requête modifiée suivante :

DELETE 
FROM posts 
WHERE id not in (
      SELECT * FROM (
            SELECT id 
            FROM posts 
            ORDER BY timestamp desc limit 0, 15
      ) 
      as t);
Copier après la connexion

Cette requête utilise un Instruction SELECT pour créer une sous-requête qui récupère les ID des 15 dernières publications. La requête principale utilise ensuite cette sous-requête pour identifier et supprimer les publications qui se situent en dehors de cette plage.

Explication :

En interne, la requête modifiée suit un processus en deux étapes :

  1. Elle crée une table temporaire, représentée par l'alias de sous-requête 't', qui contient les identifiants des 15 dernières publications.
  2. La requête principale utilise ensuite cette table temporaire pour filtrer les publications dont l'identifiant n'est pas présent dans la sous-requête, obtenant ainsi la suppression souhaitée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal