Beitrag von hempelr (1976 Beiträge) am Mittwoch, 23.Juni.2004, 21:21.
Feld Id nicht eineindeutig - Absicht oder Bug
Hallo,
hab grad mit Erschrecken festgestellt, dass das Feld Id nicht eineindeutig ist, sondern unter bestimmten Umständen mehrfach den gleichen Wert annehmen kann. Somit ist dieses Feld nicht zur Nutzung für Relationen einsetzbar.
Beispiel:
Nutzerdatenbank, Datensatz-ID des angemeldeten Nutzers wird in jeder Datenbank bei der Bearbeitung und Neuanlage im Datensatz mit abgespeichert.
Über diese Id kann man dann den Nutzer eindeutig identifizieren (hab ich wenigstens gedacht), wenn er zwischenzeitlich in der Nutzerdb gelöscht wurde, gibt es halt eine entsprechende Fehlermeldung bzw. Hinweismeldung.
So schön so gut, wenn aber dieser Nutzer grad der mit der höchsten Datensatz-ID war und er dann gelöscht wurde und es wurden danach neue Nutzer angelegt, erhalten auf einmal die Datensätze dieses gelöschten Nutzers einen anderen Eigentümer - es wird die Datensatz-Id, die der ursprünglich letzte Datensatz hatte wieder neu vergeben.
Ist das so gewollt und wenn ja, wo ist das beschrieben?
Für mich heisst das "einfach", dass alle selbst erstellten Relationen im Zusammenhang mit ner Nutzerdatenbank komplett neu programmiert werden müssen...weil dann logischerweise die Funktion leider eine Fehlfunktion ist............
Ruben
Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 24.Juni.2004, 11:05.
Re: Feld Id nicht eineindeutig - Absicht oder Bug
Die Id wird ermittelt, indem die aktuell höchste Id der DB geholt und dann 1 dazugezählt wird... Hast aber recht, in Deinem Fall wäre es besser, wenn die Id unabhängig von der aktuell vorhandenen höchsten Id weiterzählen würde...
Beitrag von hempelr (1976 Beiträge) am Donnerstag, 24.Juni.2004, 13:21.
Re: Feld Id nicht eineindeutig - Absicht oder Bug
jaja, das ist mir unterdessen schon klar.
Im Klartext heisst das also (in jedem Falle und auch für zukünftige Versionen?), dass die Id als primärer Schlüssel nicht geeignet ist und man sich um ein primäres eineindeutiges Schlüssselfeld selbst kümmern muss.
Der "Fehler" muss doch bei Einsatz des Feldes vom Typ "Relation" genauso auftreten - hat das noch keiner gemerkt oder wie funzt das da anders?
Mhm - nagut, dann werd ich mich mal ans Umbauen machen....
Ruben