ID des letzten eingefuegten Datensatzes
Wurzelzwerg
- perl
0 Siechfred0 Klaus Mock0 Siechfred
Hallo allerseits,
in meinem Perl-Programm schreibe ich mit $dbHandle->do("INSERT ...") einen Datensatz in eine Tabelle einer MySQL-DB. Nun wüßte ich gern die ID dieses Datensatzen. Habs schon mit $dbHandle->insert_id und $dbHandle->last_insert_id probiert (hatte ich im Internet gelesen), aber das war es wohl nicht. Kann mir jemand verraten, wie es richtig geht ??
viele Dank schonmal für die Hilfe
Hell-O!
in meinem Perl-Programm schreibe ich mit $dbHandle->do("INSERT ...") einen Datensatz in eine Tabelle einer MySQL-DB. Nun wüßte ich gern die ID dieses Datensatzen. Habs schon mit $dbHandle->insert_id und $dbHandle->last_insert_id probiert (hatte ich im Internet gelesen), aber das war es wohl nicht. Kann mir jemand verraten, wie es richtig geht ??
Ja, die Dokumentation zu DBI.pm. Wie hast du es denn bisher versucht (Codeschnipsel) und welche Fehlermeldungen stehen im Errorlog?
Siechfred
Hallo,
... und welche Fehlermeldungen stehen im Errorlog?
Wer sagt denn, dass es überhaupt einen Errorlog gibt? Ich vermute, dass Du von einer bestimmten Umgebung ausgehst, in der das angesprochen Script läuft (Webserver o.ä.). Nur das konnte ich im Ausgangsposting nicht herauslesen.
Ausserdem wäre imho die Lektüre von DBD:mysql wesentlich interessanter, vor allem der Abschnitt betreffend der Statement-Handles.
Grüße
Klaus
Hell-O!
... und welche Fehlermeldungen stehen im Errorlog?
Wer sagt denn, dass es überhaupt einen Errorlog gibt?
Keiner, aber bei den dürftigen Informationen, die uns der OP geliefert hat, ist m.E. zunächst von einer Standardumgebung mit Errorlog auszugehen.
Ausserdem wäre imho die Lektüre von DBD:mysql wesentlich interessanter, vor allem der Abschnitt betreffend der Statement-Handles.
Mag sein, aber wie du auch schon schriebst, die Infos sind zu dürftig. Allerdings lässt der Gebrauch von last_insert_id als Methode des DB-Handles auf DBI.pm schließen.
Aber was rate ich hier eigentlich herum, zwei Links zu entsprechenden Informationsquellen sollten genügen. Wurzelzwerg, jetzt bist du am Zuge.
Siechfred
OK und Danke schonmal,
die Umgebung ist: Windows mit einem Imatix-Webserver und ActivePerl. Alles schon ziemlich uralt und nur als Testumgebung gedacht, bevor ich das Ganze ins Netz stelle. Vielleicht sollte ich mal mit dem DBI.pm-Modul herumspielen. Hab nämlich festgestellt, daß last_insert_id in dem Modul, das ich auf der Platte habe, nicht vorkommt, in dem DBI.pm, welches ich mir gestern heruntergeladen habe, sehr wohl. Die Funktion ist vielleicht erst später dazugekommen?
Ich werde es mal versuchen, zu installieren, hoffentlich geht danach noch alles andere ;)
Habt Ihr für die Funktion evtl. noch ein beispiel, damit ich weiß, was ich bei den ersten beiden Parametern übergeben muß?
viele Grüße vom Zwerg
Hell-O!
Vielleicht sollte ich mal mit dem DBI.pm-Modul herumspielen. Hab nämlich festgestellt, daß last_insert_id in dem Modul, das ich auf der Platte habe, nicht vorkommt, in dem DBI.pm, welches ich mir gestern heruntergeladen habe, sehr wohl. Die Funktion ist vielleicht erst später dazugekommen?
Ja, laut Doku in Version 1.38.
Habt Ihr für die Funktion evtl. noch ein beispiel, damit ich weiß, was ich bei den ersten beiden Parametern übergeben muß?
In der Doku ist ein Beispiel enthalten. Für Werte, die du nicht weißt oder die nicht erforderlich sind, übergib einfach 'undef' (so, wie es im zweiten Satz steht).
Siechfred