# INSERT über mehrere tabellen



## frank_muc (25. September 2004)

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


----------



## alois (25. September 2004)

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.


----------



## frank_muc (25. September 2004)

*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, '$')");


----------



## alois (25. September 2004)

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: 


```
$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.


----------



## frank_muc (25. September 2004)

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


----------



## stutz (25. September 2004)

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 
	
	
	



```
$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 :
	
	
	



```
$sql = "INSERT INTO tabelle 2 SET Tab1ID='$id'";
```

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


----------

