Sven Rautenberg: mySQL: Mit "limit" auswählen und dann umdrehen?

Beitrag lesen

Moin!

das weiß ich schon. nur wenn ich aus den datensätzen 1,2,3,4,5 zb. den 3. rauslösche fügt mysql den nächsten datensatz dann dort ein wo der gelöschte war: 1,2,6,4,5
habs ausprobiert, ist wirklich so. das ist also das problem bei den ids.

Das Problem ist: Du hast noch nicht verstanden, wie mySQL die Tabellen sortiert. Nämlich garnicht. Die Ausgabe ist wild durcheinander, ganz so, wie es der Datenbank gerade einfällt. Wenn du also nicht die ganze Tabelle ausgeben willst, sondern nur den ersten Teil (und vielleicht auch den zweiten), dann mußt du sortieren. Sonst gibts es nicht "den ersten Teil", sondern zufällige erste Daten, die bei jedem Mal anders aussehen können, weshalb es auch keinen "zweiten Teil" gibt, bzw. man auf diese Weise nicht sicherstellen kann, daß vielleicht Einträge doppelt oder garnicht auftreten können.

Wenn du nach einem eindeutigen Kriterium sortierst, hast du das Problem nicht, und kannst ganz nach Laune vorne oder hinten die Liste anfangen.

Du WILLST also eine eindeutige, automatisch hochzählende ID haben, nach der du sortieren kannst. Oder du sortierst nach irgendwas anderem. LIMIT ohne ORDER BY ist jedenfalls ziemlich blödsinnig.

- Sven Rautenberg