Kyro0: [MySQL] INSERT INTO für 2 Tabellen gleichzeitig

Moin,
ich wollte mal wissen ob es möglich ist, einen Insert-Befehl für 2 Tabellen gleichzeitig nutzen zu können.(Wenn überhaupt nötig) In meiner Datenbank habe ich 2 Tabellen, die über ein Webformular gefüllt werden sollen. Das Formular hat z.B. die Felder Tätigkeit und Datum. Wenn diese Daten eingetragen werden, sollen sie in Tabelle A gespeichert werden(+ einer ID). Gleichzeitig soll aber in Tabelle B eingetragen werden, wann die Tätigkeit gestartet wurde und welche ID sie besitzt.

Hätte jemand vielleicht einen Vorschlag, wie man das am Besten lösen kann?

MfG

  1. Hi,

    ich wollte mal wissen ob es möglich ist, einen Insert-Befehl für 2 Tabellen gleichzeitig nutzen zu können.(Wenn überhaupt nötig) In meiner Datenbank habe ich 2 Tabellen, die über ein Webformular gefüllt werden sollen. Das Formular hat z.B. die Felder Tätigkeit und Datum. Wenn diese Daten eingetragen werden, sollen sie in Tabelle A gespeichert werden(+ einer ID). Gleichzeitig soll aber in Tabelle B eingetragen werden, wann die Tätigkeit gestartet wurde und welche ID sie besitzt.

    Ich denke mal, das Deine DB in der Lage ist, sogenannte Trigger an Tabellen zu hängen. Einen solchen an Tabelle A gehängt und so Programiert, dass er bei Änderungen bzw. Inserts in A einen entsprechenden Eintrag in B tätigt.

    Den rest macht dann die DB für Dich.

    gruß
    Emetiel

  2. Hallo Kyro0

    Wie speicherst du die Werte in SQL ab, per PHP oder was verwendest du.

    zu deinem Problem: mit PHP würde ich zwei Insert-Abfragen erstellen

      
     $query =  'INSERT INTO Tabelle_A  
                               (Spalte_1, Spalte_2)  
                VALUES         ("Wert1", "Wert2")  
               ';  
      
     $eintragen=mysql_query($query,$db);  
      
     $id= mysql_insert_id(); //liest die gerade erzeugte ID aus  
      
     $query2 = '  
                INSERT INTO Tabelle_B  
                           (Spalte_1, ID)  
                VALUES     ("Wert", "'.$id.'")  
               ';  
      
     $eintragen2=mysql_query($query2,$db);  
    
    

    Ob er eine lukrativere Möglichkeit gibt kann ich dir aber leider nicht sagen.

    Vergiss aber nicht die Werte des Formular Prüfen und zu Escapen.

    Gruß Jonny F.