Een goede strategie voor u zou kunnen zijn om één enkele MySQL-gebruiker te definiëren die dezelfde toegang heeft tot beide databases. Zoiets als dit:
GRANT ALL ON siteinfo.* TO [email protected] IDENTIFIED BY 'password';
GRANT ALL ON sitedescriptions.* TO [email protected] IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Zodra u een verbinding tot stand brengt als die gebruiker, heeft u toegang tot beide databases en kunt u er gemakkelijk naar verwijzen door uw tabelnamen vooraf te laten gaan door de databasenaam.
SELECT * FROM siteinfo.sites;
U kunt op deze manier zelfs zonder problemen uw tabellen in databases samenvoegen. Dus om uw tweede vraag te beantwoorden, om alle drie de beschrijvingsrijen voor een site te krijgen, kunt u dit doen (ervan uitgaande dat de sites dezelfde id's in elke database hebben, of dezelfde naam, of iets unieks waaraan u kunt deelnemen):
SELECT * FROM
siteinfo.sites AS s LEFT JOIN
sitedescriptions.description AS d ON s.siteId=d.siteId
WHERE s.siteId=123;