Query mit INSERT ... NOT IN

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

  • Query mit INSERT ... NOT IN

    Hallo,

    ich wollte nicht erst Datensätze auslesen, um festzustellen, ob bestimmte vorhanden sind, sondern Folgendes machen:

    Tabelle bilder

    $event="irgendwas";

    WENN in der Tabelle in der Spalte "event" == $event drin steht, dann soll dieser Datensatz mit UPDATE geändert werden.

    WENN $event NOT IN event der Tabelle steht, dann soll er ein INSERT machen.

    Ich hab das zur Zeit so gelöst, daß ich die Tabelle mit einem SELECT abfrage, das Ergebnis für die Spalte event rausfiltere (WHERE event = $event) und dann eine IF-Abfrage mit jeweils einem Query mache.

    Hab jetzt aber gesehen, daß man es vielleicht mit "NOT IN" machen kann, habe aber nur Beispiele gefunden, die ich nicht umgebaut kriege, also z.B.

    PHP-Code:
    INSERT INTO
        tab0 
    (tab1_idtab2_idtab3_id)
    SELECT
        id
    $tab2_id$tab3_id
    FROM
        tab1 s
    WHERE
        s
    .id NOT IN (
            
    SELECT
                tab1_id
            FROM
                tab0

        
    ) ; 
    und das ist mir schon zu hoch...

    Hab etwas rumprobiert, aber

    PHP-Code:
    INSERT INTO
        bilder
    SELECT
        id
    $bilder
    FROM
        tab1 s
    WHERE
        s
    .event NOT IN (
            
    SELECT
                $event
            FROM
                bilder

        
    ) ; 
    ist irgendwie voll daneben....

    Kann mir jemand helfen?
    Google-Suche mit "SQL NOT IN" bringen nur Mist...

    Danke und Grüße,
    Pust
    Zuletzt geändert von Pust; 11.10.2008, 18:01.

  • #2
    Schnauze voll. Keine Zeit und keine Lust, mich länger damit zu befassen.

    Ich mach es doch mit einer Select-Abfrage und dann mit IF.

    Danke aber für's lesen, eine Lösung ist für andere vielleicht interessant...

    Grüße,
    Pust

    Kommentar


    • #3
      Tja, wenn man sich nicht mit der Syntax auseinandersetzt, wie soll's denn gut gehen

      http://dev.mysql.com/doc/refman/5.0/...rt-select.html

      Kommentar


      • #4
        Hey,

        @asp2php: Ich glaube, er ist in die falsche Ecke abgedriftet...

        Schau dir mal lieber das an:
        12.2.7 REPLACE Syntax
        und das:
        12.2.5.3 INSERT ... ON DUPLICATE KEY UPDATE Syntax

        Kommentar

        Lädt...
        X