Ajuda MySQL

FestasPT

Power Member
Boas,

Alguem conhece uma maneira simples de eu poder comparar 2 base de dados mysql?
O objectivo é cruzar todos os dados das duas bases de dados e ficar apenas com a diferença...


Obrigado desde ja.

Cumprimentos,

Infesta
 
Epa, podes ir tabela a tabela, fazer um outer join ligando-as pela chave primária, assim o resultado são todos os registos que não se ligam, ou seja, que existem numa e não existem noutra e vice-versa.

A sintaxe é:
SELECT * FROM
{tabela1} OUTER JOIN {tabela2}
ON {tabela1.chave_primaria} = {tabela2.chave_primaria}

Espero ter ajudado :)
 
_freelancer_ disse:
Epa, podes ir tabela a tabela, fazer um outer join ligando-as pela chave primária, assim o resultado são todos os registos que não se ligam, ou seja, que existem numa e não existem noutra e vice-versa.

A sintaxe é:
SELECT * FROM
{tabela1} OUTER JOIN {tabela2}
ON {tabela1.chave_primaria} = {tabela2.chave_primaria}

Espero ter ajudado :)


Boas.Obrigado pela resposta mas estou com um erro de sintaxe no outer join.

A questão é a seguinte:

Tenho 2 base de dados (db1 e db2) e tenho 2 tabelas(db1.tabela1 e db2.tabela2) por sua vez tenho as chaves primarias correspondente a cada tabela (id1 e id2). A sintaxe que usei foi:

SELECT * FROM db1.tabela1 OUTER JOIN db2.tabela2 ON db1.tabela1.id1 = db2.tabela2.id2;

Cumprimentos,

FestasPT
 
FestasPT disse:
Boas.Obrigado pela resposta mas estou com um erro de sintaxe no outer join.

A questão é a seguinte:

Tenho 2 base de dados (db1 e db2) e tenho 2 tabelas(db1.tabela1 e db2.tabela2) por sua vez tenho as chaves primarias correspondente a cada tabela (id1 e id2). A sintaxe que usei foi:

SELECT * FROM db1.tabela1 OUTER JOIN db2.tabela2 ON db1.tabela1.id1 = db2.tabela2.id2;

Cumprimentos,

FestasPT
Epa .. dessa forma penso que não consegues, ligar duas bases de dados diferentes não sei sequer se é possível por isso o que sugiro é que faças um dump de uma das bases de dados e depois alteras o ficheiro .sql que ele gera e adicionas um prefixo qualquer a todas as tabelas (tipo bd1_) depois basta fazeres a tal instrução tabela a tabela ...

A sintaxe que tu usaste é a sintaxe "tabela.campo" e não "base_de_dados.tabela" ... se estiveres a fazer isto usando PHP é possivel que consigas fazer duas ligações distintas, uma a cada base de dados mas depois apenas consegues correr o SQL relativo a uma ou a outra por isso penso que passa sempre por juntares todas as tabelas numa base de dados.
 
Back
Topo