INSERT über mehrere tabellen

frank_muc

Grünschnabel
hi,
mein problem:

ich möchte einen insert über 2 tabellen machen. hierbei brauche ich für die tabelle 2 die id, welche mittels auto_increment in der tabelle 1 erstellt wird.

hoffe meine frage ist verständlich :-(
hat jemand einen tipp?

danke frank
 
Ich bin mir nicht sicher ob ich dich richtig verstanden habe, mein Tip wäre beide Tabellen mit JOIN miteinander zu verknüpfen, dann bräuchtest du nur eine Tabelle jeweils benutzen.
 
re

hmmm........

wie mache ich denn sowas beim insert.
finde nur beispiele für ein select, das ist mir da klar.
tabelle 1 = id name1

tabelle 2=name2 tab1id

also:
$query = @mysql_query("INSERT INTO table1, table2
(name1, id2table2, name2, tab1id)
VALUES
('$name1', '$name2, '$')");
 
Ich bin mir nicht sicher ob es möglich ist, hab mich bisher immer an die einfachen Datenbank-Entwürfe angelehnt ;P

Ich versuchs mal:

Code:
$query = mysql_query("INSERT INTO tabelle1, tabelle2 WHERE tabelle1.id=tabelle2.id");

Ist allerdings nur eine Vermutung, hab leider grad kein Anwendungsbeispiel parat um es auszuprobieren.
 
hi alois,

ich denke das get nicht. ich muss für die zweite tabelle ja die id der ersten in einer variablen haben.

eine lösung wäre das ich erst ein insert und dann ein update auf die db mache. dann habe ich die var. aber das kann es doch nicht sein....

trotzdem danke
frank
 
Ich habe mit zwei Verschiedenen INSERT 's die beste Erfahrung gemacht.
Dabei habe ich immer erst einen INSERT gemacht ( INSERT INTO tabelle 1 SET ...) und danach mit
PHP:
$id= mysql_insert_id();
die ID in die Variable id gespeichert. Meines Wissens ruft dieser Befehl die letzte unter dieser Verbindung, mit autoincrement erzeugte ID auf.

So kannst du dann in einem zweite INSERT die Variable id benutzen. Wie :
PHP:
$sql = "INSERT INTO tabelle 2 SET Tab1ID='$id'";

Ich hoffe ich konnte dir helfen. Gruss aus der Schweiz !
 

Neue Beiträge

Zurück