Announcement

Collapse
No announcement yet.

mysql select last_insert_id

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

  • mysql select last_insert_id

    Hallo zusammen,
    ich möchte aus einem TABLE die zuletzt durch auto_increment erzeugte ID aufrufen.

    Ich dachte, es würde so gehen:

    Code:
    $sql="SELECT LAST_INSERT_ID () FROM products_modelle_gewinde"; 
                     $result=mysql_query($sql) OR die(mysql_error());
    Aber es kommt Fehler:

    FUNCTION db12794_02.LAST_INSERT_ID does not exist

    Könnte mir bitte jemand weiterhelfen.

    Vielen, vielen Dank im voraus.
    Ines

  • #2
    Hat sich erledigt:

    Code:
    $sql=" SELECT MAX(id) AS letzter_eintrag FROM products_modelle_gewinde";
                     $result_id = xtc_db_query($sql);

    Comment


    • #3
      Hallo,

      mit LAST_INSERT_ID() erhälst du den vom aktuellen Client zuletzt erzeugten Autoincrement-Wert. Der Aufruf
      [highlight=sql]
      select LAST_INSERT_ID();
      [/highlight]
      sollte also sinnvollerweise unmittelbar nach einem INSERT erfolgen. Die Funktion ist Client-Save, d.h. du kannst damit NICHT den von einem anderen Client erzeugten letzten Autoinc-Wert abrufen.
      Wenn du unbedingt die letzte globale ID ermitteln musst und dies mit MAX() abfragst, dann solltest du in einer Mehrbenutzerumgebung mit einem Lock sicherstellen dass nicht zwischenzeitlich eine weitere Zeile eingefügt wird, da ansonsten dein gerade ermittelter Wert nur noch Makulatur ist.

      Gruß Falk
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment

      Working...
      X