phpbar.de logo

Mailinglisten-Archive

[php] PEAR::DB und naechste / letzte eingefuegte ID

[php] PEAR::DB und naechste / letzte eingefuegte ID

Ralf Geschke php_(at)_phpcenter.de
Mon, 2 Jul 2001 23:06:02 +0200


Hallo !

Benutzt man die nativen mysql_*-Funktionen, gibt es eine
mysql_insert_id(), welche die eingefuegte ID nach einem INSERT
oder REPLACE zurueckgibt, falls die Tabelle eine auto_increment
Spalte besitzt. 

Wie laesst sich dies mittels PEAR::DB realisieren?

Gefunden habe ich eine Funktion nextId($seq_name). Zumindest
kommt in dieser die Funktion mysql_insert_id() vor. ;)
Aber was kann man konkret damit anfangen? Ok, es wird
eine Tabelle $seq_name . "_seq" erstellt und in jene ein 
Datensatz bei Aufruf von nextId() eingefuegt. 

Falls man nun eine Tabelle komplett neu fuellt und vorher noch
kein Wert enthalten war, mag diese sinnvoll erscheinen, laesst 
sich hiermit scheinbar eine Sequenz erstellen, man erhaelt die
naechste, einzufuegende Id also im Vorhinein (und kann damit
arbeiten). Aber funktioniert dies in jedem Fall? Was passiert,
wenn ein Datensatz geloescht wird? Muesste dann nicht die
Sequenz-Tabelle ebenfalls aktualisiert werden? 

Daher: Wie laesst sich sinnvoll damit arbeiten bzw. moeglichst
die gleiche Funktionalitaet von mysql_insert_id() herstellen?
Hinweise auf Beispiele der Nutzung von PEAD::DB wuerden mir natuerlich 
ebenfalls weiterhelfen. 

Beste Gruesse,
   Ralf
-- 
: www  : http://www.bttr.org  :  http://der.leitweganzeiger.de
: mail : ralf_(at)_bttr.org       :::         rg_(at)_leitweganzeiger.de 


php::bar PHP Wiki   -   Listenarchive