my_ulonglong mysql_insert_id(MYSQL *mysql)
        
Beschreibung
          Liefert den von der vorherigen INSERT- oder
          UPDATE-Anweisung für eine
          AUTO_INCREMENT-Spalte generierten Wert.
          Verwenden Sie diese Funktion, wenn Sie eine
          INSERT-Anweisung auf einer Tabelle mit
          einem AUTO_INCREMENT-Feld ausgeführt
          haben.
        
          Genauer gesagt: mysql_insert_id() wird
          unter folgenden Bedingungen aktualisiert:
        
              INSERT-Anweisungen, die einen Wert in
              einer AUTO_INCREMENT-Spalte speichern,
              und zwar unabhängig davon, ob der Wert automatisch durch
              Speichern der Spezialwerte NULL oder
              0 in der Spalte generiert oder ob ein
              expliziter, nichtspezieller Wert gespeichert wurde.
            
              Bei einer mehrzeiligen INSERT-Anweisung
              liefert mysql_insert_id() den
              ersten automatisch
              generierten AUTO_INCREMENT-Wert. Wurde
              kein solcher Wert generiert, liefert die Funktion den
              letzten explizit in die
              AUTO_INCREMENT-Spalte eingefügten
              Wert.
            
              INSERT-Anweisungen, die einen
              AUTO_INCREMENT-Wert generieren, indem
              sie
              LAST_INSERT_ID(
              in eine Spalte einfügen.
            expr)
              INSERT-Anweisungen, die einen
              AUTO_INCREMENT-Wert generieren, indem
              sie eine Spalte auf
              LAST_INSERT_ID(
              setzen.
            expr)
              Der Wert von mysql_insert_id() wird
              nicht von Anweisungen wie SELECT
              beeinflusst, die eine Ergebnismenge zurückgeben.
            
              Wenn die obige Anweisung einen Fehler zurückgab, ist der
              Wert von mysql_insert_id() undefiniert.
            
          Beachten Sie, dass mysql_insert_id() den
          Wert 0 liefert, wenn die Anweisung keinen
          AUTO_INCREMENT-Wert verwendet. Wenn Sie den
          Wert zur späteren Benutzung speichern möchten, müssen Sie
          unmittelbar nach der Anweisung, die den Wert generiert,
          mysql_insert_id() aufrufen.
        
          Der Wert von mysql_insert_id() wird nur von
          Anweisungen beeinflusst, die innerhalb der aktuellen
          Clientverbindung gegeben werden, aber nicht durch Anweisungen
          von anderen Clients.
        
Siehe Abschnitt 12.10.3, „Informationsfunktionen“.
          Bitte beachten Sie auch, dass der Wert der SQL-Funktion
          LAST_INSERT_ID() immer den zuletzt
          generierten AUTO_INCREMENT-Wert enthält.
          Dieser wird zwischen zwei Anweisungen nicht zurückgesetzt, da
          der Wert dieser Funktion im Server gespeichert ist. Ein
          weiterer Unterschied ist der, dass
          LAST_INSERT_ID() nicht aktualisiert wird,
          wenn Sie eine AUTO_INCREMENT-Spalte auf
          einen bestimmten Wert setzen, der kein Spezialwert ist.
        
          Der Grund für den Unterschied zwischen
          LAST_INSERT_ID() und
          mysql_insert_id() besteht darin, dass
          LAST_INSERT_ID() in Skripten einfach zu
          benutzen sein soll, während
          mysql_insert_id() versucht, etwas genauere
          Informationen über die Vorgänge in der
          AUTO_INCREMENT-Spalte zu liefern.
        
Rückgabewerte
Siehe oben.
Fehler
Keine.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.

