Foreign Key Problem mit autoinkrement

Foreign Key Problem mit autoinkrement

am 08.02.2005 14:22:57 von Sebastian

Ich habe eine Tabelle mit einer ID als Primärschlüssel,
(wobei diese ID per Autoincrement automatisch gesetzt wird und
wenn diese ID jetzt der Foreign Key einer anderen Tabelle ist)
dann habe ich folgendes

Problem , wie mache ich es am besten, wenn ich einen neuen Datensatz in
meiner "Vater-Tabelle" eintrage, wird dieser automatisch rine ID zugewiesen,
die ich aber nicht kenne.

Jetzt möchte ich im gleichen Schritt die passenden Daten dazu in der "Sohn-Tabelle" eintragen,
wobei die - unbekannte - ID der "Vater-Tabelle mein Foreign Key werden soll.

Wie kriege ich die ID heraus?

Die einzige Möglichkeit, die mir einfällt, wäre, ein Select id from table where atribute1="wert1" AND atribute2="wert2"
....AND atributexy="valuexy".

Aber erstens ist das ja nicht besonders performant - JEDES Attribute von jedem Datensatz in der Tabelle muss verglichen
werden,
zweitens könnte es doch sein, dass es zwei Datensätze gibt, die sich nur in der ID unterscheiden - das war prinzipiell
ja auch erst
der Grund, eine ID zu nutzen.

Also wie geht das? Kann ich irgendwie die per autoicrement automatisch zugewiesene ID herausfinden?

Mfg Sebastian

Re: Foreign Key Problem mit autoinkrement

am 08.02.2005 14:23:44 von do.not.REMOVETHAT

Sebastian Christoph Marcel Richard Maria Grödel-Wiehthaler schrieb:

[insert]

> Wie kriege ich die ID heraus?

mysql_insert_id()

http://php.net/mysql-insert-id

Grüße, Matthias

--
"Hurd will be out in a year"
(Linus Torwalds, 5. Oktober 1991)
http://groups-beta.google.com/group/comp.os.minix/msg/2194d2 53268b0a1b

Re: Foreign Key Problem mit autoinkrement

am 08.02.2005 15:52:10 von Sebastian

Matthias P. Wuerfl schrieb:

>> Wie kriege ich die ID heraus?
>
> mysql_insert_id()
>
> http://php.net/mysql-insert-id
>
> Grüße, Matthias
>

Vielen Dank, das wars.

Sebastian.