MySql Primary Key lückenlos
Bernd
- datenbank
2 Klaus Mock0 Bernd0 Iris0 Jörg Lorenz0 Vinzenz Mai0 Ilja
Hallo,
ich haben eine Tabelle mit der Spalte "id", die mit Primary Key und auto_increment formatiert ist. Der Inhalt ist demnach eine Zahlenreihe von 1 bis xy. Wenn ich nun eine Reihe aus der Tabelle lösche, wird die Zahlenreihe unterbrochen. Gibt es in MySql eine Einstellung, die eine Lücke verhindert und die ids automatisch anpasst?
Gruß Bernd
Hallo,
Gibt es in MySql eine Einstellung, die eine Lücke verhindert und die ids automatisch anpasst?
Wozu sollte das gut sein? Der Primärschlüssel eines Datensatzes dient alleine zu dessen eindeutiger Identifikation und sollte daher nie geändert werden. Jegliche anderen Interpretationsversuche des Primärschlüssels sollten deshalb unbedingt vermieden werden. So auch eine durchnummerierung der Datensätze.
Grüße
Klaus
Hallo,
ich bräuchte das bei der Ausgabe von Daten, weil anhand der Nummerierung geordnet und teilweise ausgegeben wird. Die Progammierung wird erheblich erleichtert, wenn die höchste id nicht mit COUNT(id) übereinstimmt.
mfg Bernd
Übedenke noch ein mal was du erreichen willst, manchmal muss man halt ein paar Umwege gehen.
Iris
Ich habe jetzt einen ganz anderen Lösungsweg beschritten.
Aber trotzdem finde ich wird hier von euch maßlos übertrieben! Ob beispielsweise ein Gästebucheintrag die id 1 oder 5 hat ist völlig egal, hauptsache es gibt keinen zweiten, der die gleiche id besitzt. Daher wäre eine neue Zuordnung der ids total akzeptabel. Es mag ja Beispiele geben, die eine Neuzuordung aufgrund der Verwaltung nicht zulassen, aber man muss es ja nicht immer direkt übertreiben.
Trotzdem danke für die zahlreichen Antworten.
Gruß Bernd
echo $begrüßung;
Ob beispielsweise ein Gästebucheintrag die id 1 oder 5 hat ist völlig egal, hauptsache es gibt keinen zweiten, der die gleiche id besitzt.
Dann ist es keine ID mehr sondern nur noch eine Nummer.
Und auch da kann es nach Neunummerierung Probleme geben, wenn jemand sich in seinem Gästebucheintrag auf Nummer x bezieht, die aber durch Neunummerierung nicht mehr auf den gemeinten Eintrag zeigt.
echo "$verabschiedung $name";
Hallo Bernd,
die ID ist immer für eine eindeutige Identifizierung des Datensatzes notwendig.
Lies mal den Thread durch: http://forum.de.selfhtml.org/archiv/2005/8/t112936/#m715911
Viele Grüße
Jörg
Hallo
ich bräuchte das bei der Ausgabe von Daten, weil anhand der Nummerierung geordnet und teilweise ausgegeben wird.
Lies Dir bitte durch, was dedlfix dazu vorschlägt.
Freundliche Grüße
Vinzenz
yo,
ich bräuchte das bei der Ausgabe von Daten, weil anhand der Nummerierung geordnet und teilweise ausgegeben wird. Die Progammierung wird erheblich erleichtert, wenn die höchste id nicht mit COUNT(id) übereinstimmt.
die ID dafür zu benutzen ist nicht ratsam, wie alle anderen ja schon gesagt haben. ein lösungsweg wäre es, eine date/time spalte mit reinzunehmen. man könnte dafür auch einen timestamp nehmen. damit sollte die sortierung sehr leicht möglich sein.
zum anderen meinst du wohl eher die aggregat-funktion MAX() und nicht COUNT().
Ilja