DELETE und subquery

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

  • DELETE und subquery

    Hi,

    ich will ein DELETE mit einem Subquery ausführen leider funktioniert das
    Ganze nicht:

    Mysql 5.0.44
    PHP-Code:

    DELETE FROM newsletter_kunden 
    as t1
    WHERE 
    EXISTS 
    SELECT 1 FROM s_gewinnspiele as t2 WHERE t1.email t2.email AND t2.typ 't'
    AND t2.datum '2008-03-05' 
    Code:
    MySQL meldet:  
    
    #1064 - 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 
    EXISTS ( SELECT 1 FROM s_gewinnspiele as t2 WHERE t1.email = t2.email AN' at line 2
    Meine Vermutung ist das ich die Datensätze nicht löschen kann die ich
    im subquery mit t1.email = t2.email verknüpfe...is das richtig?

  • #2
    Re: DELETE und subquery

    Original geschrieben von tomtherock
    Meine Vermutung ist das ich die Datensätze nicht löschen kann die ich
    im subquery mit t1.email = t2.email verknüpfe...is das richtig?
    Deine Vermutung ist richtig:
    Original geschrieben von Syntax von Unterabfragen
    Eine weitere Einschränkung ist die Tatsache, dass Sie eine Tabelle derzeit nicht ändern und gleichzeitig in einer Unterabfrage eine Auswahl aus dieser Tabelle treffen können. Dies gilt für Anweisungen wie DELETE, INSERT, REPLACE, UPDATE und (da Unterabfragen in der SET-Klausel verwendet werden können) LOAD DATA INFILE.
    Gruss
    H2O

    Kommentar


    • #3
      ja dache ich mir schon fast

      habs jetzt jedenfall mit ner IN abfrage hinbekommen...die Frage ist kann
      diese ohne Bedenken benutzen? Ergebnisse hab ich gecheckt scheint
      zu passen

      => es werden alle Datensätze in tabelle newsletter_kunden gelöscht die auch in meinem Subquerie vorkommen

      PHP-Code:
      DELETE FROM newsletter_kunden
      WHERE 
      email IN 
      SELECT email FROM s_gewinnspiele WHERE typ 't'
      AND datum '2008-03-05' 

      Kommentar


      • #4
        Das kannst du in diesem Fall problemlos benutzen. Es ist sowieso die bessere Abfrage.
        Gruss
        H2O

        Kommentar

        Lädt...
        X