Es gibt immer wieder Fälle, in denen man den vorherigen, oder den nachfolgenden Datensatz aus einer Datenbanktabelle aufrufen möchte. Hier eine Möglichkeit.
Auch wenn man für den Autoinkrement (z.B.: Spalte „ID“) einen Integer verwendet, ist nicht garantiert, dass diese aufeinanderfolgend sind.
Wenn z.B.: ein Datensatz gelöscht wird, entstehen „Löcher“ in der aufsteigenden Nummerierung.
Dadurch wäre die Lösung, die „ID“ mit +/- zu erhöhen/verringern, fehleranfällig.
Besser ist die Verwendung von „größer/kleiner“.
In diesem Beispiel rufe ich den vorherigen/nachfolgenden Datensatz zur ID „4“ auf.
Vorheriger Datensatz:
1 |
SELECT * FROM Tabellenname WHERE ID>4 ORDER BY ID LIMIT 1 |
Nachfolgender Datensatz:
1 |
SELECT * FROM Tabellenname WHERE ID<4 ORDER BY ID LIMIT 1 |