mysql sortiert nicht nach primary key

ollek81

Erfahrenes Mitglied
Tach

Ich beschäftige mich erst seit 2 Wochen mit PHP und MySQL. Jetzt bin ich auf ein Problem gestoßen:
Bin dabei eine Art "Forum" zu basteln.
Ich hab ne Tabelle erstellt, in der ich die Id selbst setze. Ich habe die Spalte "Id" auch als primary key gesetzt.
Wenn ich jetzt ne neue Nachricht in der Tabelle speichere, bekommt sie die nächste verfügbare Id. Ihre Id ist also die größte...
Jetzt dachte ich, dass MySQL die Tabelle dann auch so aufbaut, dass von oben nach unten die Ids immer größer werden.
Ist aber leider nicht so. Er setzt z.B. die Zeile mit der Id 9 zwischen die mit 4 und 5.
Wenn ich das dann ausgebe (while ($reihe=mysql_fetch_array($dings)) usw.) kommt leider die neueste Nachricht mitten drin.

Kann mir jemand sagen, wie ich die MySQL-Tabelle sortieren kann, oder das bei der Ausgabe irgendwie hinbekomme? Die Ids sind durch löschen leider auch nicht durchgängig vergeben, so dass ich auch nicht "for($i=1; $i==$maxid;$i++)" anwenden kann.

Hilfe

MfG

Ollek81
 
Code:
SELECT * FROM foo ORDER BY id

Du könntest allerdings auch ein auto_increment auf die Spalte setzen, so wird die ID immer automatisch um eins erhöht, und ist auch schön geordnet untereinander.

mfG

Devil
 
Erstelle doch das ID Column mit AUTO_INCREMENT

Die "Lücken" gibt es dann zwar immer noch, aber die IDs werden automatisch vergeben, und dann klappt es auch mit dem Sortieren.
 
Zurück