Susanna: letzten Datensatz ausgeben (ID)

Ich schreibe in meine Tabelle1 einen neuen Satz der automatisch eine id bekommt (auto), anschließend schreibe ich einen weiteren Satz in eine andere Tabelle2, dieser soll die ID des Datensatzes bekommen den ich zuerst geschrieben habe.

Wie kann ich den letzen (den) Datensatz mir ausgeben lassen, den ich in Tabelle1 geschrieben habe um ih in Tabelle2 zu schreiben.

Susanna

  1. Hallo,

    Wie kann ich den letzen (den) Datensatz mir ausgeben lassen, den ich in Tabelle1 geschrieben habe um ih in Tabelle2 zu schreiben.

    Welches DBMS und welche Programmiersprache? Wenn es MySQL und PHP ist dann mit der Funktion mysql_insert_id()

    Jeena

    1. Hello,

      Wie kann ich den letzen (den) Datensatz mir ausgeben lassen, den ich in Tabelle1 geschrieben habe um ih in Tabelle2 zu schreiben.

      Welches DBMS und welche Programmiersprache? Wenn es MySQL und PHP ist dann mit der Funktion mysql_insert_id()

      ...oder gleich das Datenbankmanagementsystem machen lassen.

      insert into tabelle2 set ID=last_insert_is(), feldname='feldwert';

      http://dev.mysql.com/doc/refman/5.1/en/information-functions.html#function_last-insert-id

      Die Funktion liefert die letzte auf der Connection erzeugte Auto-ID zurück, aber nicht die höchste. Es können inzwischen über andere Connections zusätzliche Datensätze eingefügt werden. Diese stören nicht die Last-Insert-ID der eigenen Connection.

      Es ist sehr viel intelligenter, gleich die Datenbankfunktion zu benutzen und nicht erst mittels PHP und mysql_insert_id() die ID auszulesen, da die datenbankeigene Funktion auch bigint-Werte bedienen kann, während die PHP-Funktion auf MaxInt begrenzt ist.

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
       ☻_
      /▌
      / \ Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de