Mysql nächste ID einer ID herrausfinden
Posted: Juni 15th, 2009 | Filed under: Datenbank, Programmieren | Tags: Datenbank, MySQL, nachfolgende ID, nächste ID, nächster Eintrag, vorherige ID | 1 Comment »Heute bin ich bei einem Pager einer Webapplikation auf das Problem gestoßen die nächste ID eines MySQL Datenbank Eintrags herrauszufinden. Nach kurzem suchen habe ich im Netz folgenden Lösungsvorschlag gefunden.
Nächste ID
SELECT MIN(id) FROM tabelle WHERE id > {letze ID}
Vorherige ID
SELECT MAX(id) FROM tabelle WHERE id < {letze ID}
Damit kann man über SQL die nächst größere beziehungsweise die nächste kleinere ID ermitteln.
Das ist falsch…
Angenommen die letzte ID ist 10. Und diesen Eintrag löscht jemand.
Jetzt kommt diene Abfrage. Die gibt 10 aus, da je die größte ID 9 ist. Tatsächlich ist der autoincrement wert in der Tabelle auf 11 und legt den nächsten datensatz auch mit 11 an.