Hallo!
Das problem als solches kann in der praxis bei sauberen löschroutinen nicht auftreten, wie fast immer ist wiedermal der Verstand des programmieres gefragt.
Wer nur teilbestände löscht, und nicht alle betrofenen tabellen updatet wird immerwieder probleme haben.
Aber das ist wohl was, daß man erst lernt wenn es einem das erste mal passiert ist :))
Du hast sicherlich Recht!
Bei mir stand die ID aber also einer Art Loginnummer(keine User_ID). Man konnte sich mit dieser Nummer was ansehen. Wenn man da die letzte löscht und wieder eine vergibt kann es zu Verwechslungen führen. Nicht mal mit einer zweiten Spalten, also SELECT MAX(spalte)+1 FROM tabelle, kann man da was machen und das als "ID" verwenden. Den sobald man wieder den letzten Datensatz löscht, haut das mit dem Max nicht mehr hin.
Was ist, wenn Du nach extern Links wie http://www.domain.de/seite.phtml?variable=101 raus gibst. Nun löschst Du die 101 und legst einen neuen Artikel mit 101 an....
Klar, wenn ich durch alle Tabellen gehe und alles lösche, was mit der 101 zu tun hat, gibt es keine Integritätsprobleme. Nur sobald extern was mit im Spiel ist, haut das nicht mehr hin. Und IMHO ist das eine Feature einer jeden Datenbank, ein Spaltentype zu haben, der sicher immer eine fortlaufende Nummer generieret, egal ob man die letzte ID generiert.
Hier im Forum werden die Artikel ja auch mit fortlaufenden Nummern nummeriert. Was ist nun, wenn mal ein Link von aussen hier her geht? Dann stimmen einige Suchmaschineneinträge(extern) nicht mehr, wenn man daran was ändert.Also ein Artikel auf einmal die ID eines anderen Artikels bekommt.
MfG, André Laugks