Sven Wagener: MySQL AUTO INCREMENT

Guten Tag!

Ich haben eine Spalte in meiner Tabelle mit dem Namen "id". Diese Spalte ist auf auto_increment gesetzt.

Wenn jetzt der zuletzt eingegebene Datensatz gelöscht wird und ein neuer Datensatz ángelegt wird, so erhält der Neue Datensatz den gleichen Wert in dem Feld "id" wie der zuvor gelöschte. Kann ich das irgendwie unterbinden?
Bzw. wieso wird ein schonmal vergebener Autowert noch einmal vergeben?

MfG,

Sven Wagener.
http://www.dokuwelt.de

  1. Hi Sven,

    Bzw. wieso wird ein schonmal vergebener Autowert noch einmal vergeben?

    Das ist das erstemal, dass ich sowas höre... 8{
    Hab nun schon öfter mit mySQL zu tun gehabt und immer wurde die auto_increment ID weiter gezählt, egal, ob ich einen Eintrag lösche oder nicht...

    http://www.olison.com

    1. Das ist das erstemal, dass ich sowas höre... 8{
      Hab nun schon öfter mit mySQL zu tun gehabt und immer wurde die auto_increment ID weiter gezählt, egal, ob ich einen Eintrag lösche oder nicht...

      Ich hab das auch noch nicht erlebt. Ich hab das auf einer lokalen DB mittels einer Testtabelle auch noch mal versucht nachzuvollziehen. Die ID wurde dann aber immer neu vergeben.

      MfG,

      Sven Wagener.
      http://www.dokuwelt.de

      1. Das ist das erstemal, dass ich sowas höre... 8{
        Hab nun schon öfter mit mySQL zu tun gehabt und immer wurde die auto_increment ID weiter gezählt, egal, ob ich einen Eintrag lösche oder nicht...

        Ich hab das auch noch nicht erlebt. Ich hab das auf einer lokalen DB mittels einer Testtabelle auch noch mal versucht nachzuvollziehen. Die ID wurde dann aber immer neu vergeben.

        MfG,

        Sven Wagener.
        http://www.dokuwelt.de

        kenne ich eigentlich auch so.

        steffen

  2. Hi Sven

    Wenn jetzt der zuletzt eingegebene Datensatz gelöscht wird und ein neuer
    Datensatz ángelegt wird, so erhält der Neue Datensatz den gleichen Wert
    in dem Feld "id" wie der zuvor gelöschte. Kann ich das irgendwie unterbinden?
    Bzw. wieso wird ein schonmal vergebener Autowert noch einmal vergeben?

    Ja, respektive Jain, nur der höchste Wert wird nochmal vergeben:

    http://www.mysql.com/doc/en/example-AUTO_INCREMENT.html

    Direkt über dem Strich vor den Usercomments steht der Satz:

    Note that in this case, the AUTO_INCREMENT value will be reused if you delete the row with the biggest AUTO_INCREMENT value in any group.

    Lösen könntest du das zb indem du Datensätze nicht wirklich löscht, sondern
    archivierst (End-Datum setzen, einen Flag setzen...).

    Gruss Daniela

    1. Naja, ist irgendwie dumm aber kann man nichts machen.

      Trotzdem Danke!

      MfG,

      Sven Wagener.
      http://www.dokuwelt.de