![]() |
Datenbank: Paradox 7 • Version: 7 • Zugriff über: Delphi 7, SQL
Paradox Zähler
Hallo,
ich habe eine Datenbank und einen primär Schlüssel (Zähler +). Wenn ich den letzten Datensatz lösche (Nr. 4) und einen neuen erstelle wird das Nr. 5, aber ich will das es Nr. 4 wird. Genauso möchte ich, dass ich variable Datensätze rauslöschen kann und anstelle derer neue einschieben kann, z.B. wenn ein Datensatz unbrauchbar geworden ist - Gegenstand defekt -> aussortiert). Gibt es nur die Möglichkeit die Zähler auf Integer umzustellen und dann per Code diese selber zu generieren und so vollen Zugriff auf meinen Primärschlüssel zu haben. Oder gibt es eine andere, sinnvollere? Grüße, Malte Danke schonmal! |
Re: Paradox Zähler
HI,
ich würd mal sagen, dass es da keine andere Möglichkeit gibt, als alles von Hand zu machen. Eine Datenbank labt davon, dass der Primärschlüssel nur 1mal existiert. Genau deswegen hat man, um den Aufwand zu verringern den Zähler erfunden. Dieser zählt einfach fortlaufend und schert sich nicht um die Tabelle selbst. Wenn du jetzt einen Datensatz aus der Mitte löschst heißt dass für dein Spielchen, dass du alle Werte unterhalb von dem gelöschten Wert um 1 verringern musst. Der Aufwand wird dann bei größeren Datenmengen riesig und unüberschaubar. Was willst du denn damit erreichen? Bernhard |
Re: Paradox Zähler
Abgesehen, dass dies nicht sinnvoll ist, bleibt dir nichts anderes übrig, als die Nummer manuell zu vergeben. Ich würde diese Nummer als weiteres Feld anlegen und am PK nichts ändern
|
Re: Paradox Zähler
Es geht um eine DVD-Bibliothek.
D.h. wenn eine DVD defekt oder verloren gegangen ist möchte ich an die Stelle eine andere DVD stellen, da es doof aussieht im Regel wenn überall Lücken sind ;-) Nein, ich möchte die anderen nicht nachrücken, sondern lediglich andere Datensätze an die Stelle der gelöschten einsetzen. Vllt. wärs am besten, wenn ich die Löschen-Funktion ersetze mit einer UPDATE-Funktion, d.h. man kann nur Filme rausschmeißen, wenn man einen neuen Film hat den man für den Alten einsetzt. Was meint ihr dazu? |
Re: Paradox Zähler
Wie du es schilderst, steckst du eine Information in den Primärschlüssel rein. Sowas macht keinen Sinn und bringt einem im Laufe der Zeit nur Probleme mit, wenn plötzlich Referenzen vergessen wurden mit anzupassen.
Hör auf mkinzler... Fass den PK nicht an und verwalte in einer gesonderten Spalte deine fortlaufenden Nummern. |
Re: Paradox Zähler
Halte ich für suboptimal. Wie Markus schon andeutete, erstelle Dir doch einfach ein weiteres Feld für die laufende Nummer, die Du selbst verwaltest, das dürfte der beste Weg sein.
[edit] Jelly war schneller *g* [/edit] |
Re: Paradox Zähler
okay, danke an alle dann werde ich das so machen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz