Hallo!
Ziel ist: Ich möchte eine neue Zeile in die Tabelle1 schreiben und brauche die neue Id für die Eingabe in Tabelle2 (foreign key).
(Tabelle2 ist nur zur Veranschaulichung und wird für die Testumgebung nicht benötigt)
Du benötigst also ein LAST_INSERT_ID?
Ein LAST_INSERT_ID kenn PostgreSQL nicht. PostgreSQL kennt aber ein "LAST_INSERT_OID", also man bekommt die zu letzt generierte Objekt-ID einer Sitzung, also wie LAST_INSERT_ID unter MySQL.
Jeder Datensatz wird in PostgreSQL mit einer OID versehen. Die Spalte "oid" legt PostgreSQL automatisch mit an. Ist aber nur mit einem explizitem Aufruf (SELECT oid, spalte FROM tabelle;) sichtbar.
// tabelle
$last_insert_oid = pg_last_oid($connect_id);
Nun liegt z.B. auf die Spalte "id" eine Sequence.
Mit
SELECT id FROM tabelle WHERE oid=$last_insert_oid;
bekommst Du nun die zuletzt eingefügte ID.
MfG, André Laugks
L-Andre @ gmx.de