Marc1988: Insert in zwei tabellen in einer query

Hallo,
bin sql neuling, deshalb die frage ist es möglich sowas zu machen:

$query="INSERT INTO xxx(yyy,zzz,lll) VALUES('vcx','dsf','sdfj') AND INSERT INTO kkk(sss,mmm,nnn) VALUES('...

also so sicher nicht weil das habe ich schon probiert*G*, aber gibt es da einen weg??

MFG

  1. Hallo Marc,

    also so sicher nicht weil das habe ich schon probiert*G*, aber gibt es da einen weg??

    es gibt Datenbankmanagementsysteme (DBMS), die es erlauben, mit einer INSERT-Anweisung Daten in mehr als eine Tabelle zu schreiben. Welches DBMS (MySQL, MS SQL-Server, Oracle, DB2, Informix, MS Access, FoxPro, dBase, SQLite, ...) verwendest Du?

    MySQL kann es nicht, MS Access kann es zum Beispiel mit aktualisierbaren Views (Auswahlabfragen).

    Viele DBMS unterstützen Stored Procedures. Solche könntest Du eventuell für Dein Problem nutzen. MySQL unterstützt Stored Procedures ab Version 5.0

    Freundliche Grüße

    Vinzenz

    1. Hallo,
      vielen dank für deine antwort, ich könnte auch auf 2 querys ausweichen aber inwiefern bringt das performance einbußen??

      MFG

      1. Hallo

        vielen dank für deine antwort, ich könnte auch auf 2 querys ausweichen aber inwiefern bringt das performance einbußen??

        Überhaupt keine. Wenn Dein DBMS ein Mehrtabelleninsert nicht unterstützt, dann kannst Du das auch nicht nutzen.

        Welches Datenbankmanagementsystem (bitte mit Versionsangabe) steht denn zur Verfügung?

        Freundliche Grüße

        Vinzenz

      2. Hello,

        [...] ich könnte auch auf 2 querys ausweichen aber inwiefern bringt das performance einbußen??

        Es kann das Sperren der Tabellen bzw. der betroffenen Datensätze zur Voraussetzung machen.
        Das hängt aber davon ab, ob zwischen dem ersten und dem zweiten Insert noch ein fremder Request stattfinden darf, oder nicht. Wenn die beiden Sätze voneinander abhängig sind, darf das i.d.R. nicht sein.

        Harzliche Grüße vom Berg
        http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau