Lukas Schmelzeisen: Queries zusammenfassen

Hi Forum,

Kann man folgende Queries zu einem zusammenfassen?

  
DELETE FROM  
    CMS_Pages  
WHERE  
    ID = ${pID}  
  
DELETE FROM  
    CMS_Pages_Names  
WHERE  
    Page = ${pID}  

Mfg Lukas

  1. Hi Forum,

    Kann man folgende Queries zu einem zusammenfassen?

    DELETE FROM
        CMS_Pages
    WHERE
        ID = ${pID}

    DELETE FROM
        CMS_Pages_Names
    WHERE
        Page = ${pID}

    
    >   
    > Mfg Lukas  
      
    Bin mir nicht sicher, aber versuche mal folgendes:  
      
    ~~~sql
      
    DELETE FROM CMS_Pages, CMS_Pages_Names WHERE CMS_Pages.ID =${pID} AND CMS_Pages_Names.Page = ${pID}  
    
    
    1. Hi McKentire

      DELETE FROM CMS_Pages, CMS_Pages_Names WHERE CMS_Pages.ID = ${pID} AND CMS_Pages_Names.Page = ${pID}

        
      You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE CMS\_Pages.ID = 4 AND CMS\_Pages\_Names.Page = 4'  
        
      (Klappt also leider nicht. Leider sagt mir der Fehler nicht viel vll. hilft er aber dir.)  
        
      Mfg Lukas
      
  2. yo,

    zum einen sind solche aussagen ohne das dbms zu kennen und die version sehr schwierig. zum anderen, warum willst du sie zusammenfassen ? nicht immer ist es ratsam, alles in eine anweisung packen zu wollen.

    Ilja

    1. Hi Ilja,

      Ich weiß leider nicht was eine dbms ist. Denke aber du meinst die Art meiner Datenbank. Ich habe die akt. XAMPP-Version also "MySQL 5.0.45".

      Die Queries will ich zusammenfassen da sie beide den selben Parameter benötigen $pID und in der Regel 1 Query +  1 Fehlerabfrage schneller geht als 2 Queries + 2 Fehlerabfragen ;)

      Mfg Lukas

  3. Nein, denn sie ändern unterschiedliche Tabellen.

    Möchtest Du vielleicht Transaktionen verwenden, damit entweder beide oder keine Query wirksam wird?

    Alexander

    1. yo,

      Nein, denn sie ändern unterschiedliche Tabellen.

      [Link: http://dev.mysql.com/doc/refman/5.1/de/delete.html]

      zumindestens die Doku von mysql sagt, dass es geht.

      Ilja

      1. Nein, denn sie ändern unterschiedliche Tabellen.

        [Link: http://dev.mysql.com/doc/refman/5.1/de/delete.html]

        zumindestens die Doku von mysql sagt, dass es geht.

        OK, MySQL-spezifische Spracherweiterung, für andere Datenbanken nicht zu gebrauchen. Wieder was gelernt. (Wer denkt sich sowas bloß aus?)

        Alexander