SQL SELECT na tabulky z jiné databaze
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- mr.mac
- Člen | 87
gavec napsal(a):
BTW obe databaze jsou na localhostu.
Prostě si musíš vytvořit nové připojení asi takto:
$connect1 = dibi::connect($container->params['database1']);
$connect2 = dibi::connect($container->params['database2']);
Např.: config.neon by mohl vypdat asi takto:
common:
php:
date.timezone: Europe/Prague
database1:
driver: mysql
host: local
username: user
database: db1
password: xxx
database2:
driver: mysql
host: local
username: user
database: db2
password: xxx
Nebo to je jinak? Nemám to odzkoušené, ale budu to zanedlouho řešit (bohužel s MS SQL serverem, každá DB úúúplně jinde).
Editoval mr.mac (16. 10. 2011 13:26)
- petr.pavel
- Člen | 535
Jde o to, jestli má jediný db uživatel přístup k oběma databázím. Jestli jo, tak lze v jediném dotazu kombinovat obě. Příklad pro MySQL:
SELECT * FROM `databaze1`.tabulka
UNION SELECT * FROM `databaze2`.tabulka
(Nejde tu o Dibi, takže píši jen SQL.)
Jestli takový uživatel neexistuje, tak máš smůlu a do jednoho dotazu to nenacpeš.