Announcement

Collapse
No announcement yet.

frische eingetragene ID ermitteln...

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • frische eingetragene ID ermitteln...

    folg. Problem:

    Ich packe einen neuen Record in einer MySQL Datenbank. Automatisch wird eine ID geschrieben. Wie finde ich heraus welche das war, damit ich den Datensatz weiter übergeben kann zum bearbeiten?

    Gruss Hannes

  • #2
    In der API gibt es eine C-Funktion: mysql_insert.id (http://www.mysql.com/doc/en/mysql_insert_id.html). Da fast jede MySQL-Schnittstelle (Perl, PHP) diese API abbildet, sollte das kein Problem darstellen. Per SQL geht es auch, ist natuerlich ne zusaetzliche Query mit entsprechendem Overhead: SELECT LAST_INSERT_ID(); (http://www.mysql.com/doc/en/Miscellaneous_functions.html, da dann suchen). Das geht z.B. mit Variablenzuweisung:
    <pre>
    -- in Tabelle user ist ID PRIMARY KEY NOT NULL AUTO_INCREMENT --
    INSERT INTO user(ID, Name) VALUES(NULL, 'Klaus Kinski');
    SET @userid := LAST_INSERT_ID();
    INSERT INTO group(userID, groupname) VALUES( @userid, 'Schauspieler');
    </pre>
    Gruss, Marc

    Comment


    • #3
      Du kannst natürlich auch mit

      <PRE>SELECT LAST_INSERT_ID();</PRE>

      die zulet automatisch vergebene ID ermitteln.

      Gruß
      Ric

      Comment

      Working...
      X