Non, tu ne devrais pas faire ça. Sans ORDER BY
clause, vous ne devez pas compter sur le fait que l'ordre des résultats est le même d'une requête à l'autre. Cela pourrait bien fonctionner pendant les tests, mais la commande est indéterminée et pourrait se casser plus tard. Utilisez une commande par.
SELECT * FROM table1 ORDER BY id LIMIT 5
Au fait, une autre façon d'obtenir les 3 dernières lignes est d'inverser l'ordre et de sélectionner les trois premières lignes :
SELECT * FROM table1 ORDER BY id DESC LIMIT 3
Cela fonctionnera toujours même si le nombre de lignes dans le jeu de résultats n'est pas toujours de 8.