Mailinglisten-Archive |
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