Klaus Mock: Auto Increment

Beitrag lesen

Hallo,

Der einzige Zweck einer ID in einer Tabelle sollte die eindeutige Identifizierung eiens Datensatzes sein. Reihungen usw. sollten damit nicht gemacht werden. Es ist dabei unerheblich, ob es Lücken in der Nummerierung gibt oder nicht. Wenn ein Datensatz gelöscht wird ist es sogar ziemlich nützlich, wenn desen ID nicht wieder verwendet wird, um zu verhindern, daß es zu Fehlinterpretationen kommt.
Stell' Dir z.B. vor, jemand hat einen Link auf die Darstellung eines Datensatz mit der ID 4 gesetzt (Bookmark). Du hast nun keinen Einfluß darauf, daß dieser Link auch gelöscht bzw. modifiziert wird, da Du von dessen Existenz nichts weißt. Wenn nun dieser Datensatz angezeigt werden soll, und er ist gelöscht, so kann das System mit 'not found' oder so ähnlich reagieren. Würdest Du aber eine Neunummerierung durchführen, so kann Dein Sytsem nicht mehr erkennen, ob nun der alte oder der neue Datensatz mit der ID 4 gemeint ist, womit die Eindeutigkeit nicht mehr gegeben ist.[1]

und wen ich mittendrin was lösche würre ich wollen das die ID'S alle ein nachrücken.
Ist das möglich?!

Mit entsprechendem Aufwand, ja, aber ich denke daß Du das eigentlich nicht wirklich willst.

Grüße
  Klaus

[1] alte ID's nicht mehr wiederzuverwenden ist übrigens nichts, was es erst seit dem Einsatz von elektronischen Datenbanken gibt. Schon früher wurde es als gut erachtet, Identnummern, z.B. von Maschinenteilen, nicht mer wiederzuverwenden, auch wenn dieses Teile nicht mehr produziert wurde.