[SQL allgemein] [SQL] Vergleichen von Tabellen und aussortieren

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

  • [SQL allgemein] [SQL] Vergleichen von Tabellen und aussortieren

    Hallo,

    ich bin schon die ganze Zeit am überlegen wie ich das mache:

    Ich habe in Datenbank A, die Tabelle 1, und in der Spalte c steht eine Info, die Tabelle hat z.B. 10 Datensätze.

    Ich möchte jetzt alle Datensätze löschen, deren Wert aus Spalte c nicht irgendwo in der Datenbank B, in Tabelle 2, Spalte b vorkommt.

    Ich habe da irgendwie ne Brett vorm Kopf....

  • #2
    wo ist das problem. du liest die zu prüfenden werte aus und bindest sie in einer query für die zweite DB ein.

    dass du mehrere connects zu verschiedenen DBs (auch db-hosts) machen kannst, weisst du ja, wenn du mysql_connect() brav im manual nachgelesen hast.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Also, nachdem ich mir bei der MySQL Dokumentation diesen Artikel:

      http://dev.mysql.com/doc/mysql/de/mysql-connect.html

      durchgelesen habe, der eigentlich nur noch auf diesen Artikel verweist:

      http://dev.mysql.com/doc/mysql/de/my...l-connect.html

      habe ich trotzdem nichts gefunden, wie ich das mache, das ich auf zwei verschiedenen Datenbanken gleichzeitig zu greifen kann.

      Kommentar


      • #4
        PHP-Code:
        //werte aus Datenbank A, die Tabelle 1,  Spalte c  auslesen

        $query "SELECT DISTINCT c FROM a.Tabelle1";
        //query ausführen
        //zeilen in array $Values speichern

        Werte aus Datenbank BTabelle 2 löschen wo Wert nicht in Spalte b 
        $query 
        "DELETE FROM b.Tabelle2 WHERE b NOT IN ('".implode("','"$Values)."')";
        //Abfrage ausführen 
        Allerdings ist das NOT IN performance-technisch schlecht, weil kein index benutzt werden kann.
        Die zehn Gebote sind deswegen so kurz und logisch, weil sie ohne Mitwirkung von Juristen zustande gekommen sind. (Charles de Gaulle)

        Kommentar

        Lädt...
        X