Ausführen mehrere Abfragen innerhalb eines Querys

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ausführen mehrere Abfragen innerhalb eines Querys

    Hallo!

    Sagen wir mal, ich habe folgende 3 Zeilen:
    Code:
    UPDATE posts SET lft = lft + 2 WHERE pid = 1 AND lft >= '2'
    UPDATE posts SET rgt = rgt + 2 WHERE pid = 1 AND rgt >= '2'
    INSERT INTO posts (`lft`,`rgt`) VALUES ('2', '3')
    Nun möchte ich diese 3 Abfragen in einem Query verarbeiten. Dazu trenn ich die Zeilen einfach mit einem ; :
    Code:
    UPDATE posts SET lft = lft + 2 WHERE pid = 1 AND lft >= '2';
    UPDATE posts SET rgt = rgt + 2 WHERE pid = 1 AND rgt >= '2';
    INSERT INTO posts (`lft`,`rgt`) VALUES ('2', '3')
    Füge ich das ganze nun in phpMyAdmin ein und führe es dort aus, funktioniert alles. Führe ich das ganze jedoch via PHP aus, passiert nichts. Hat jemand eine Idee woran das liegen könnte?

    Danke!

  • #2
    von mysql_query():
    multiple queries are not supported

    Kommentar


    • #3
      Aha, das heißt also phpMyAdmin teilt die wieder in einzelne Abfragen und führt die dann einzeln aus oder wie?

      Kann man die sonst irgendwie zusammenpacken? Oder komm ich da nicht drum rum die einzeln auszuführen?

      Thx...

      Kommentar


      • #4
        Ja, phpMyadmin explodiert die Eingabe am Semikolon und führt dann jeden Teil einzeln aus.

        Du kannst deine beiden UPDATES zu einer Query zusammenfassen. INSERT und UPDATE kannst du allerdings nicht vereinigen.

        Kommentar


        • #5
          Ja, phpMyadmin explodiert die Eingabe am Semikolon und führt dann jeden Teil einzeln aus.
          ein bisschen komplizierter ist das schon, schließlich wäre

          INSERT INTO .... SET text = "Ein Semikolon ( wird auch Punktstrich genannt";

          dann nicht einer, sondern zwei Queries...

          Du kannst deine beiden UPDATES zu einer Query zusammenfassen.
          Indem?

          Kommentar

          Lädt...
          X