Bernd: MySql Primary Key lückenlos

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

  1. 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

    1. 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

      1. Übedenke noch ein mal was du erreichen willst, manchmal muss man halt ein paar Umwege gehen.

        Iris

        1. 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

          1. 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";

      2. 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

      3. 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

      4. 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