PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MySQL: dyn. Primary Key nochmal verwenden


RMC
2004-08-09, 19:14:50
Hi, folgendes:

Ich schreib in eine Tabelle (zb: table_1) einen Datensatz..nichts tolles ;) Der Schlüssel wird dabei mit "auto_increment" erhöht, soweit auch nicht aufregend. Im PHP Code trag ich für die enstprechende Spalte nichts ein ("") also leer, damit automatisch hochgezählt wird.

Gleich im Anschluss möcht ich aber einen weiteren Datensatz in eine ZWEITE Tabelle (table_2) schreiben, der genau DIESEN eben generierten Key als Attribut benötigt.

Wie kann ich den denn bekommen? Über

select primary_key from table_1 where ... and ... and ... usw. krieg ich es nicht, ist leider nicht eindeutig :(


Ideen plz :( thx

HellHorse
2004-08-09, 22:50:23
RTFM ;)
http://dev.mysql.com/doc/mysql/en/example-AUTO_INCREMENT.html
http://dev.mysql.com/doc/mysql/en/Getting_unique_ID.html
Keine Ahnung wie sicher das Ganze in Bezug auf mehrere gleichzeitige Sessions ist.

Bist du sicher, dass AUTO_INCREMENT auch für "" geht (nebst 0 und NULL)?

Ansonsten:
http://www.postgresql.org/docs/7.4/static/functions-sequence.html#FUNCTIONS-SEQUENCE-TABLE

peanball
2004-08-10, 08:12:25
"" geht für Auto Increment.

Zum Problem:

php: mysql_insert_id($link);
mysql: SELECT LAST_INSERT_ID();

www.php.net/mysql_insert_id

Den Link zur MySQL Doku hast ja schon von HellHorse

Viel Spaß

HellHorse
2004-08-10, 09:40:04
Erazor']"" geht für Auto Increment.
www.php.net/mysql_insert_id

Sehr schön. Das beantwortet auch, wie es in Bezug auf mehrere gleichzeitige Sessions aussieht.