Tim: Auto_Inc rückgabe der neuen ID

ich benutze mysql.

nun wollte ich gerne die auto_inc funktion nutzen, da durch eine ID immer nur einmal auftaucht.

beispiel:

ID Name
1  Meier
2  Schulz
3  Otto

nun löscht man eintrag ID=3.
Auto_Inc erzeugt dann trotzdem 4, obwohl 3 ja wieder frei wäre.
macht auch sinn, damit IDs nicht doppelt benutzt werden.

nun habe ich aber ein problem, da ich beim anlegen eines neuen eintrags die ID ja nicht zurück gegeben bekomme, das heißt ich weiß garnicht welche ID benutzt wurde. ich muss aber die gleiche ID in einer andern tabelle auch verwenden. da die ID aber der einzige primärschlüssel ist kann ich die ID nicht mehr per select rausbekommen.

wie macht man das am schlausten.

vielen dank.
Tim.

  1. Hallo Tim,

    diese Frage hättest Du in Deinem alten Thread stellen sollen :-)

    nun habe ich aber ein problem, da ich beim anlegen eines neuen eintrags die ID ja nicht zurück gegeben bekomme, das heißt ich weiß garnicht welche ID benutzt wurde. ich muss aber die gleiche ID in einer andern tabelle auch verwenden. da die ID aber der einzige primärschlüssel ist kann ich die ID nicht mehr per select rausbekommen.

    Der Abschnitt How to Get the Unique ID for the Last Inserted Row im MySQL-Handbuch hilft Dir weiter.

    Freundliche Grüße

    Vinzenz

    1. ist doch ein neues thema, hab ich gedacht...

      kann es sein, das die doku da nur C berücksichtigt?
      ich bentze perl.

      1. Hallo,

        solltest du DBI und DBD::* verwenden, so:
          z.B.  $dbh->{'mysql_insertid'};

        aus cpan

        ansonsten lies die doku von deinem verwendeten modul/treiber/etc.

        gruss

        --
        no strict;
        no warnings;
        79.78 cups of Coffee (Brewed) + Me = Death
        <exal> BEI MIR KOMMT IMMER DIE EINS STATT EINEM AUSRUFEZEICHEN111 (http://german-bash.org/3361)
        1. jepp das ist es:  $dbh->{'mysql_insertid'}
          oder
          $dbh->{insertid}

          funzt prima, vielen dank...