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);
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 :
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!