Dafür ist die Sequence-Tabelle. Da wird immer der zuletzt benutzte Primärschlüssel gespeichert. Wenn du dann immer dort den Schlüssel ausliest, diesen erhöhst und den dann in dieser Tabelle speicherst, kann es nie zu Verwechselungen kommen.
Auf diese Art kannst du später eventuell auch die DB wechseln und bist nicht darauf angewiesen, ob die Datenbank autoincrement kann.
Beispiel:
Primärschlüssel: int (start 1)
Wenn du 5 Kunden angelegt hast, steht der Primärschlüssel bei 5 und steht auch so in der Sequence-Tabelle. Löschst du jetzt den letzten Kunden, ist in letzte Primärschlüssel in deiner Tabelle 4, aber in der Sequence-Tabelle steht immer noch 5. Beim nächsten erstellen eines Kunden liest du die 5 aus, erhöhst die wieder und schreibst sie zurück. Dann hat dein neuer Kunde die 6 und die 5 wird nicht wieder benutzt.
MFG
zEriX
Auf diese Art kannst du später eventuell auch die DB wechseln und bist nicht darauf angewiesen, ob die Datenbank autoincrement kann.
Beispiel:
Primärschlüssel: int (start 1)
Wenn du 5 Kunden angelegt hast, steht der Primärschlüssel bei 5 und steht auch so in der Sequence-Tabelle. Löschst du jetzt den letzten Kunden, ist in letzte Primärschlüssel in deiner Tabelle 4, aber in der Sequence-Tabelle steht immer noch 5. Beim nächsten erstellen eines Kunden liest du die 5 aus, erhöhst die wieder und schreibst sie zurück. Dann hat dein neuer Kunde die 6 und die 5 wird nicht wieder benutzt.
MFG
zEriX
Zuletzt bearbeitet: