Hi zusammen!
Ich bin noch relativ neu auf dem Gebiet der Datenbanken und habe eine Frage zu MySQL:
Ich habe eine Tabelle mit einer Spalte namens "ID". In dieser Spalte weise ich jeder Zeile eine eigene Nummer zu (Unique). Mit einem PHP-Script kann ich Zeilen aus dieser Tabelle löschen und neue hinzufügen.
Angenommen ich habe 5 Zeilen mit den ID's 1-5. Jetzt lösche ich die 3. und die 5. Zeile und habe nur noch die ID's 1, 2 und 4. Wenn ich jetzt nacheinander drei weitere Zeilen in die Tabelle einfüge, wie bekomme ich am leichtesten raus, welche ID's (3, 5 und 6) noch frei sind? Kann ich MySQL das irgendwie machen lassen? Mit AUTO_INCREMENT zählt MySQL ja bloß immer vom höchstwertigen Feld aus um 1 weiter...
...und das ist auch gut so. ;) Jedenfalls für die meisten Anwendungsfälle.
Die ID soll eindeutig sein, und das ist sie ja auch. Wenn du nach ID sortieren läßt, erhälst du nacheinander alle vorhandenen Datensätze, mit eventuellen Lücken in den IDs. Macht aber nichts, denn du könntest ja einen Zähler mitlaufen lassen, um z.B. eine Tabelle mit laufender Nummer zu versehen.
Deine ID sollte genauso erzeugt werden, wie sie bislang erzeugt wird - es sei denn, du hast einen sehr besonderen Anwendungsfall. Den müßtest du dann aber nochmal genauer schildern. :)
- Sven Rautenberg