24. juni 2007 - 21:32Der er
7 kommentarer og 1 løsning
Kommunikere mellem 2 databaser på 2 servere
Hej,
Jeg har behov for at kunne lave en NOT IN forespørgelse mellem 2 servere (a og b). I PHP kan jeg fx lave 2 connections $a = mysql_connect('1.1.1.1','user','password'); $b = mysql_connect('2.2.2.2','user','password');
Herefter kan jeg så lave en forespørgelse på de forskellige connections således: mysql_query("SELECT * FROM tabel1",$a); //forespørger i a server mysql_query("SELECT * FROM tabel2",$b); //forespørger i b server
nu vil jeg bare gerne lave en forespørgelse således: mysql_query("SELECT * FROM `tabel1` WHERE `field1` NOT IN (SELECT `field2` FROM `tabel2`)");
Jeg tror ikke du kan lave en NOT IN SUBQUERY på tværs af 2 servere. Du kan jo have selve php koden på maskine 1, som så forbinder til mysql server 2 og mysql server 3. Det vil sige mysql server 2 og 3 snakker jo ikke direkte sammen. Jeg tror jeg ville trække data ud fra server 1 og så lave en query efterfølgende mod server 2.
akyhne, Joh, såfremt at de tillader ekstern adgang til databasen, hvilket jeg går ud fra de gør i dette tilfælde - mtrolle, du kan godt fra webserveren lave alm. queries på begge databaser, korrekt? Jeg går i øvrigt ud fra at field1 og field2 er INTs...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.